YoutubeDataKit 0.3.1

YoutubeDataKit 0.3.1

Islam Q 维护。



  • 作者
  • islam

YoutubeDataKit

YoutubeDataKit 是一个 Swift 语言的 YouTube Data API (v3) 封装。它是一个框架,用于简化处理 YouTube 项目(视频、播放列表、频道等)的操作。

YoutubeDataKit 基于 YoutubeKit,但 不包括 播放器。

Build Status Maintainability CocoaPods Compatible Carthage Compatible Swift

可用的 API 列表

  • Actitivty(list)
  • Actitivty(insert)
  • Caption(list)
  • Channel(list)
  • ChannelSections(list)
  • Comment(list)
  • CommentThreads(list)
  • GuideCategories(list)
  • PlaylistItems(list)
  • Playlists(list)
  • Search(list)
  • Subscriptions(list)
  • VideoAbuseReportReasons(list)
  • VideoCategories(list)
  • Videos(list)

入门

使用 YoutubeDataAPI 获取视频信息

首先,从 这里 获取 API 密钥。

然后,将这些代码添加到您的 AppDelegate 中

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    
    YoutubeDataKit.shared.setAPIKey(API_KEY)
    
    return true
}

然后,您可以使用以下方式请求 YoutubeDataAPI

// Get youtube chart ranking
let request = VideoListRequest(part: [.id, .statistics], filter: .chart)

// Send a request.
ApiSession.shared.send(request) { result in
    switch result {
    case .success(let response):
        print(response)
    case .failed(let error):
        print(error)
    }
}

这里是响应示例。

VideoList(items: [YoutubeKit.Video(etag: "\"A8kisgyDEbllhHF9ooXPFFrkc/nR6_A9oyIoLTJuucY_UXeasjYNU\"",
kind: "youtube#video",
id: "jeiDjeJgF0",
contentDetails: nil,
statistics: Optional(YoutubeKit.Statistics.VideoList(dislikeCount: "1631", likeCount: "60307", commentCount: Optional("8675"), favoriteCount: "0", viewCount: "1259046")),
snippet: nil,
status: nil),
etag: "\"J67fSnfblalhHF0foXPiFFrkc/TZGPJdE22-LilSv4-3VNoPw1cS4\"",
kind: "youtube#videoListResponse",
pageInfo: YoutubeKit.PageInfo(resultsPerPage: 5, totalResults: 200))

获取下一页(分页操作)

var nextPageToken: String?
...

// Send some request
ApiSession.shared.send(request) { [weak self] result in
    switch result {
    case .success(let response):
        // Save nextPageToken
        self?.nextPage = response.nextPageToken
    case .failed(let error):
        print(error)
    }
}
...

// Set nextPageToken
let request = VideoListRequest(part: [.id], filter: .chart, nextPageToken: nextPageToken)

授权请求

如果您想要进行授权请求,例如获取在YouTube的活动,您在发送请求之前设置好访问令牌。要使用GoogleSignIn,您可以轻松获取访问令牌。pod 'GoogleSignIn'

首先,在您的AppDelegate中添加此代码。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    
    // Set your access token for autheticate request
    YoutubeKit.shared.setAccessToken("Your access token")
    
    return true
}

然后,您可以使用需要授权的请求,以下是一个获取YouTube活动的示例。

// Get your Youtube activity
let request = ActivityListRequest(part: [.snippet], filter: .mine(true))

// Send a request.
ApiSession.shared.send(request) { result in
    switch result {
    case .success(let video):
        print(video)
    case .failed(let error):
        print(error)
    }
}

要求

iOS 9.3+

Xcode 9+

Swift 4+

安装

Cocoapods

$ pod repo update

然后将以下内容添加到您的Podfile中

pod 'YoutubeDataKit'

然后

$ pod install

Carthage

然后将以下内容添加到您的Cartfile中

github "qalandarov/YoutubeDataKit"

然后

$ carthage update

原始YoutubeKit作者

Github: https://github.com/rinov

Twitter: https://twitter.com/rinov0321

Email: rinov[at]rinov.jp

许可证

YoutubeDataKit可在MIT许可证下使用。