2012-02-07 87 views
15

我试图从iOS应用内访问YouTube,但iOS SDK已经过时了,而且源代码很糟糕。我试图访问特定帐户的播放列表,并将其显示为应用程序的一部分。是否有适用于iOS的RESTful YouTube API?

我可以使用任何API或URL端点吗?我是否需要使用SDK,或者是否可以使用Objective-C手动制作HTTP请求? (我想LRResty或类似的东西。)

编辑:

我需要有使用基于REST的API的API密钥?如果是这样,我如何获得一个?

回答

11

是的:你想Youtube Data API,可能是playlist feed。标准的HTTP请求将正常工作。

+0

我已经配置的应用程序和生成的客户端密钥和客户端ID。在Xcode项目中,我从GTL服务文件夹添加了youTube。然后在使用GTMOAuth2Authentication设置auth后,我使用GTLQueryYouTube调用了查询。当我执行查询时,我得到了1001错误代码,操作无法完成。 我在这里跳过任何步骤吗?我们是否需要在调用YouTube搜索列表之前使用GTMOAuth2ViewControllerTouch设置身份验证? – iGo 2014-03-14 11:45:43

+1

我写的这个教程可能会有帮助:http://nsrover.wordpress.com/2014/04/23/youtube-api-on-ios/ – NSRover 2014-04-23 08:17:45

3

我不确定这是否是您所说过时的SDK,但Objective-C的GDataLibrary可以为您建立连接。

http://code.google.com/p/gdata-objectivec-client/

我一直用它做出谷歌电子表格和它一直工作得很好的连接。您可以选择从项目中实施选择服务,因此它不会在编译时使用对您没有任何意义的代码来衡量您的项目。

我相信这个库是在Objective-C

下面是关于如何将其设置为你的项目中使用信息谷歌服务API的一个非常看包装。

GData Introduction

+0

是的,正在谈论这个。它根本不支持ARC,不能直接编译。需要的方式太多调整。 – Moshe 2012-02-07 02:50:15

+0

你仍然可以将它包含在ARC项目中,只需添加一些特殊的编译器指令即可。总而言之,这是相当sl。。花了我一点,让它在我的项目中运行,只是认为它值得一提 – MobileOverlord 2012-02-07 02:53:14

+0

我只是跟着你的链接 - 那里的信息似乎...... *更好*但正如你所说,马虎。 – Moshe 2012-02-07 02:54:58

4

我可以举例说明如何在json forma中抓取youtube频道公共活动feed(评论,喜欢,上传...),而无需通过登录身份验证。

  1. 登录您的Google帐户并转至https://code.google.com/apis/console创建一个API项目。
  2. 选择创建另一个客户端ID,选择安装的应用程序(IOS),插入您重定向URL并按创建
  3. 前往服务(左侧灰色面板),并转至页面底部以启用YouTube Data API v3服务。
  4. 在您的Xcode,使用iOS原生HTTP协议,你可以抓住通过请求API提供给用户的信道活动: https://www.googleapis.com/youtube/v3/activities?channelId=YOUR_CHANNEL_ID&key=YOUR_API_KEY&part=snippet,contentDetails

  5. 你会得到一组数据。对于视频供稿,您会看到有一个“videoId”。通过使用json字典解析器并请求视频API: https://www.googleapis.com/youtube/v3/videos?id=VIDEO_ID&key=YOUR_API_KEY&part=player来抓取它,并且您将在json“embedHtml”参数中获得视频URL!

  6. 使用您的本机iOS视频播放器播放视频。

API参数参考:https://developers.google.com/youtube/v3/docs/channels/list 视频API参数参考:https://developers.google.com/youtube/v3/docs/videos/list

相关问题