如何在iOS应用中使用YouTube API?

Bal*_*cze 13 integration objective-c google-api youtube-api ios

我在网上搜索了教程和说明但却找不到任何关于此...所以我希望也许有人可以指出我正确的方向或只是链接一些很好的教程.(顺便说一下,我愿意制作一个基本的YouTube客户端应用程序,让用户搜索视频,而不是观看它们......没什么太花哨的).

提前致谢!

小智 16

哦伙计....欢迎来到解析JSON文件和忍受BADLY记录的API的世界:)

几个月前我正在研究这个问题,我设法让它运转起来.以下是您需要做的事情:

第1步 - OAuth 2.0集成

您的应用是否允许用户登录YouTube,以便他们可以评论/喜欢/等...视频?如果是这样,那么您需要让用户先通过您的应用登录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会向您的应用发送"访问令牌".此令牌需要在所有(或大多数)API请求中使用(取决于请求的类型).

获得"访问令牌"后,您将需要安全地存储它.它基本上是一个密码,所以你需要保持安全.千万不能做的一些人做,这是使用NSUserDefaults,这是不安全的.相反,您将需要使用钥匙串.这是Apple的安全加密/存储库,可以轻松用于保存密码等安全字符串.

为了在需要时使用Keychain安全地存储和检索"访问令牌",请看看这篇SO帖子,它很棒:如何使用Keychain保存密码,如GenericKeychain示例代码

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

就这么现在,更难一点.您需要仔细阅读Google YouTube API V3并查看API参考文档,以查找将返回您要查找的数据的特定网址.例如:如果您想从用户的主页Feed或简单搜索中获取视频列表,请查看此API参考页:https://developers.google.com/youtube/v3/docs /视频/名单

第4步 - 提取视频网址

在我进一步讨论这一步之前,我应该提一下,谷歌表示你应该在简单的网页浏览中使用YouTube HTML代码展示视频,这些代码只是将视频视图嵌入到您的应用中.但在我看来(和许多其他开发者),这看起来和工作可怕......

因此,如果您想通过原生MPMovieplayerController在应用中显示YouTube视频,则需要先提取视频网址,然后才能执行此操作.

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

您需要解析视频ID的JSON文件.一旦您或应用用户选择了他们想要的视频,您就需要使用该特定视频的视频ID传递给"YouTube视频链接提取器"库.然后,该库将返回该视频的一组视频文件链接.这些链接可与MPMovieplayerController结合使用,以本机显示视频.

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

祝好运 :)

  • 哇...谢谢你的伴侣!这就像我需要的完美答案.:) (4认同)