从 YouTube API 仅检索支持移动设备的视频

Posted

技术标签:

【中文标题】从 YouTube API 仅检索支持移动设备的视频【英文标题】:retrive only mobile-supported video from YouTube API 【发布时间】:2013-09-30 22:25:17 【问题描述】:

我正在使用 YouTube API 为 android 客户端检索视频。

该程序运行良好,但有时我会收到“不允许在智能手机上播放此视频”之类的错误。

那么,有没有办法过滤这些视频?我阅读了this doc,但没有找到解决方案。

【问题讨论】:

【参考方案1】:

有两个概念可嵌入和联合。 ios 设备使用 iframe,因此它们基本上是嵌入的。 使用播放器 API 的 Android 设备可以检查联合。

当您执行search->list 时,您可以将videoEmbeddable 和videoSyndicated 设置为true。

对于Android,您应该检查videoSyndicated。

或者,如果您正在遍历视频,对于每个视频,您可以使用视频 ID 调用 video->list 并在响应中检查 status.embeddable。

这里有一个关于这个主题的blog post,即使示例在 v2 中,信息仍然是相关的。

【讨论】:

感谢您的回复!那么域gdata.youtube.com/feeds/api/videos 被弃用了吗?我尝试在此 API 中使用“videoSyndicated=true&v=3”,但不起作用。我将使用 googleapis.com/youtube 将我的程序更新到 v3 videoSyndicated 是 v3 中的一个选项,在 v2 中也应该有办法做到这一点。但强烈建议切换到 v3。 我使用 v3 API 进行了尝试,但从查询返回的视频仍然无法使用 YouTube Player API 在我的 Galaxy Tab 上播放。它只是显示“此视频在此平台上不可用”。你确定这行得通吗?这是我使用的查询“googleapis.com/youtube/v3/…YOUR_API_KEY”。返回的第一个 videoId 是“gEazvWRo7h0”,它不在我的设备上播放。 YouTube 应用程序可以过滤掉无法在移动设备上播放的视频。 API 搜索结果应该是这种情况。 将 videoEmbeddable 和 videoSyndicated 设置为 true 似乎不起作用:googleapis.com/youtube/v3/search?key=api_key&part=sn-p&type=video&q=Twenty+One+Pilots+Stressed+Out&videoCategoryId=10&maxResults=3&regionCode=GB&videoSyndicated= true&videoEmbeddable=true 返回 video id pXRviuL6vMY 作为第一个结果,如果使用 Android sdk 播放,则显示受限内容错误。

以上是关于从 YouTube API 仅检索支持移动设备的视频的主要内容,如果未能解决你的问题,请参考以下文章

Youtube API:搜索可在移动设备上播放的视频

Youtube API:搜索可在移动设备上播放的视频

Youtube iFrame API setPlaybackQuality 在移动设备上被忽略

Youtube api v3 无法从频道中检索所有视频

如何从 Youtube API V3 中检索经过验证的频道?

使用 PHP for 和 foreach 循环从 JSON 数据中检索视频信息时遇到问题 - YouTube API 3