是否有适用于 iOS 的 RESTful YouTube API?

Posted

技术标签:

【中文标题】是否有适用于 iOS 的 RESTful YouTube API?【英文标题】:Is there a RESTful YouTube API for iOS? 【发布时间】:2012-02-28 11:26:08 【问题描述】:

我正在尝试从 ios 应用程序中访问 YouTube,但 iOS SDK 有点过时,而且来源非常糟糕。我正在尝试访问特定帐户的播放列表并将其显示为应用的一部分。

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

编辑:

我是否需要 API 密钥才能使用 RESTful API?如果有,如何获得?

【问题讨论】:

【参考方案1】:

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

【讨论】:

我已经配置了一个应用程序并生成了客户端密码和客户端 ID。在 Xcode 项目中,我从 GTL 服务文件夹添加了 YouTube。在使用 GTMOAuth2Authentication 设置身份验证之后,我使用 GTLQueryYouTube 调用了查询。当我执行查询时,我得到 1001 错误代码,操作无法完成。我是否跳过了这里的任何步骤?在调用 youtube 搜索列表之前,我们是否需要使用 GTMOAuth2ViewControllerTouch 设置身份验证? 我写的这个教程可能对你有帮助:nsrover.wordpress.com/2014/04/23/youtube-api-on-ios【参考方案2】:

您可以通过YouTube Data API 以RESTful 方式做到这一点。

Here 是使用它的工作示例。

【讨论】:

【参考方案3】:

我可以举个例子,以 json 格式获取 youtube 频道公共活动提要(cmets、likes、uploads...),而无需通过登录验证。

    登录您的 Google 帐户并转到 https://code.google.com/apis/console 以创建 API 项目。 选择Create Another Client ID,选择Installed Application (iOS),插入您的redirect URL,然后按Create. 转到服务(左侧灰色面板),然后转到页面底部以启用YouTube Data API v3服务。

    在您的 Xcode 中,通过使用 iOS 原生 HTTP 协议,您可以通过请求 API 来获取用户的频道活动提要: https://www.googleapis.com/youtube/v3/activities?channelId=YOUR_CHANNEL_ID&key=YOUR_API_KEY&part=snippet,contentDetails

    你会得到一堆数据。对于视频源,您会看到有一个“videoId”。使用您的 json-dictionary 解析器并请求视频 API 来获取它: https://www.googleapis.com/youtube/v3/videos?id=VIDEO_ID&key=YOUR_API_KEY&part=player你会得到json“embedhtml”参数中的视频URL!

    使用您的原生 iOS 视频播放器播放视频。

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

【讨论】:

【参考方案4】:

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

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

我一直在使用它来连接 Google 电子表格,并且它运行良好。您可以选择从项目中实现选择的服务,这样它就不会在编译时使用对您没有任何意义的代码来拖累您的项目。

我相信这个库是 Objective-C 中 Google 服务 API 的一个漂亮的包装器

以下是有关如何设置它以用于您的项目的信息。

GData Introduction

【讨论】:

是的,正在谈论那个。它根本不支持 ARC,也不会开箱即用。需要太多的调整。 你仍然可以将它包含在 ARC 项目中,只需要添加几个特殊的编译器指令。总而言之,它非常草率。花了我一点时间让它在我的项目中运行,只是觉得值得一提 我刚刚点击了您的链接 - 那里的信息似乎... 更好 但正如您所说,马虎。【参考方案5】:

看起来有一个新的 Objective-C api 可以使用 google 的 JSON 服务:http://code.google.com/p/google-api-objectivec-client/

【讨论】:

以上是关于是否有适用于 iOS 的 RESTful YouTube API?的主要内容,如果未能解决你的问题,请参考以下文章

适用于 iOS 的 RESTKit 和 IPV6

是否有适用于 iOS 的离线地理编码框架、库或数据库?

是否有适用于 iOS 和 Android 浏览器的性能指南?

是否有适用于 Android 和 iOS 的 OCR 开源库或 sdk(免费)? [关闭]

是否有适用于 iOS 的完全可定制的类似 UIPickerView 的开源组件?

是否有使用适用于 iOS 的蓝牙经典的 Cordova/PhoneGap 插件?