YoutubeEngine
Library with ReactiveCocoa api for Youtube. Allows easy access required parts of videos and channels in one call.
Screenshots
Example
To run the example project, clone the repo, and run pod install
from the Example directory first.
let engine = Engine(authorization: .key(YOUR_API_KEY))
let request: SearchRequest = .search(withTerm: "VEVO",
requiredVideoParts: [.statistics, .contentDetails],
requiredChannelParts: [.statistics],
requiredPlaylistParts: [.snippet],
limit: 20)
engine.search(request)
.startWithResult { result in
guard case .success(let page) = result else {
return
}
let formattedItems = page.items.enumerated().map { "[\($0)] = \($1)" }
print("VEVO:\n\(formattedItems.joined(separator: "\n"))")
}
Requirements
Supports Swift 5
Installation
Cocoapods
pod "YoutubeEngine", :git => 'https://github.com/Igor-Palaguta/YoutubeEngine', :tag => '0.7.0'
Carthage
github "Igor-Palaguta/YoutubeEngine" ~> 0.7.0
SPM
.package(url: "https://github.com/Igor-Palaguta/YoutubeEngine", .upToNextMinor(from: "0.7.0"))
Implemented API
-
search list by keyword, videos from channel, related videos
-
channels list by identifiers or my
-
videos list by identifiers or popular
-
playlistItems list by identifiers or from playlist
Author
Igor Palaguta, igor.palaguta@gmail.com
License
YoutubeEngine is available under the MIT license. See the LICENSE file for more info.