如何将 YouTube API 用于 iOS 应用?

How to use YouTube API for an iOS app?

我在网上搜索了教程和说明,但在这方面找不到任何内容...所以我希望这里有人可以为我指明正确的方向,或者只是 link 一些好的教程。 (顺便说一下,我愿意制作一个基本的 YouTube 客户端应用程序,让用户可以搜索视频而不是观看它们……没什么特别的)。

提前致谢!

哦,伙计....欢迎欢迎来到解析 JSON 文件并忍受 BADLY 记录 APIs :)

的世界

好吧,我几个月前就在研究这个,我设法让它工作了。以下是您必须做的事情:

步骤 1 - OAuth 2.0 集成

您的应用程序是否允许用户登录 YouTube,以便他们可以 comment/like/etc... 观看视频?如果是这样,那么您需要先让用户通过您的应用登录 YouTube API,然后他们才能执行此类操作。为此,您的应用需要使用 OAuth 2.0 与 YouTube API 进行通信。这是一个极好的库,您可以使用它通过 OAuth 2.0 与 YouTube API 进行身份验证:https://github.com/BHughes3388/BAHYouTubeOAuth

步骤 2 - 钥匙串 - 访问令牌存储

如果您不熟悉 OAuth 身份验证,那么一开始可能会让人望而生畏,但是一旦您尝试并熟悉它,您就会发现它非常容易使用。

总的来说,它的工作方式是您的应用联系 API(在本例中为 YouTube V3 API)并请求网页。该网页允许用户登录 APi 并授予您的应用程序访问权限。完成此操作后,API 将向您的应用发送一个 "access token"。此令牌将需要在您的所有(或大部分)API 请求中使用(这取决于请求的类型)。

获得 "access token" 后,您需要妥善保管它。它基本上是一个密码,所以你需要保证它的安全。不要不要做一些人做的事情,就是使用NSUserDefaults,那一点都不安全。相反,您将需要使用钥匙串。这是 Apple 的安全 encryption/storage 库,可轻松用于保存密码等安全字符串。

为了在需要时使用钥匙串安全地存储和检索 "access token",请看一下这个 SO post,它很棒:How to use Keychain for saving password like GenericKeychain sample code

第 3 步 - YouTube API V3 - https://developers.google.com/youtube/v3/

现在,更难的一点。您需要通读 Google YouTube API V3 并通读 API 参考文档以找到特定的 URL 将 return 您的数据寻找。例如:如果您想从用户的主页或简单搜索中获取视频列表,请查看此 API 参考页面:https://developers.google.com/youtube/v3/docs/videos/list

第 4 步 - 提取视频 URL

在我进一步讨论此步骤之前,我应该提到 Google 说您应该使用 YouTube HTML 代码在简单的网络视图中显示视频,该代码只是将视频视图嵌入您的应用程序中。但在我看来(以及许多其他开发者),这看起来和工作起来都很糟糕....

因此,如果您想通过本机 MPMovieplayerController 在您的应用中显示 YouTube 视频,那么您需要先提取视频 URL 才能执行此操作。

当您向 YouTube API 请求一组视频时,您将得到一个 JSON 文件,该文件包含视频列表(视频 ID、标题、日期等...)。

您需要解析 JSON 文件以获取视频 ID。一旦您或应用程序用户选择了他们想要的视频,您将需要使用然后将该特定视频的视频 ID 传递到 "YouTube video link extractor" 库。然后,该库将为该视频 return 一组视频文件链接。这些链接可以与 MPMovieplayerController 结合使用以本地显示视频。

这是一个很棒的 YouTube 视频文件 url 提取器 - https://github.com/runmad/RMYouTubeExtractor

祝你好运:)