如何过滤受限于移动播放的YouTube Data API v3中的视频,而不过滤掉Vevo?

时间:2014-01-17 02:21:46

标签: youtube-api android-youtube-api

我正在使用YouTube Data API v3创建Android应用。到目前为止一直很好,直到我意识到很多视频都没有播放。

我得到“来自持有人的内容因版权原因在您所在的国家/地区被屏蔽”....

我用谷歌搜索,似乎解决这个问题的方法是使用版本3的YouTube.Search.List对象并设置:

search.setVideoSyndicated("true");

不幸的是,这太严格了。所有Vevo视频以及谁知道结果中还有什么消失,即使这些视频播放正常。

我已经拥有search.setVideoEmbeddable("true")所以这不是这个等式中感兴趣的变量。

现在我应该补充一下,我已经倾倒了文档并最终找到了这个:

https://developers.google.com/youtube/2.0/developers_guide_protocol_partial?csw=1#Retrieving_Videos_for_Mobile_Playback

...说:

检索视频以便在移动设备上播放

要确保API响应仅包含适合在移动设备上播放的视频,请将fields参数设置为以下值。请注意,必须对参数值中显示的哈希字符(#)进行转义(%23)。

fields=entry[link/@rel='http://gdata.youtube.com/schemas/2007%23mobile']

如果您正在为移动设备开发应用程序,您可能还需要在API请求中指定移动投影。

...

好的......所以尽管这只适用于API版本2.0(?)我想,“嘿......我是一个好奇的家伙......”我创建了以下测试网址并运行它通过Firefox来查看XML有效负载。

https://gdata.youtube.com/feeds/mobile/videos?q=RIHANNA&max-results=50&fields=entry[link/@rel=%27http://gdata.youtube.com/schemas/2007%23mobile%27]

嗯......这确实有效。请注意,“/ mobile /”在文档中称为“投影”,通常在公共端点中为“/ api /”。

现在,当我说“这确实有用”时,这意味着我恢复了XML,确实过滤掉了“因版权原因阻止”播放错误的视频。

然而,搜索 P!NK Rihanna 或(在此处插入流行艺术家du jour)会产生AWFUL结果。

我的头痛恶化:YouTube的Android官方移动应用程序显示INDEED显示YouTube Vevo的内容,因为我没有设置联合为真,并且他们没有显示我的国家因版权原因而被阻止的所有无数视频。

现在我在美国大苹果公司,所以我们不要把“你们国家”的东西用来暗示我在一些不幸的城堡里。

简而言之,在尝试创建可接受的移动用户体验或者我遗漏某些内容时,YouTube数据API中存在某些问题。我希望它是后者,有人可以告诉我如何使用YT Data API v3来获取Vevo(宝宝)并且因版权原因(洗澡水)结果丢失了6个“在您所在国家/地区被阻止”。

这个问题似乎是长期的,但也是一个“利基”领域,谷歌会告诉他们的API开发者社区使用联合属性从而删除其合作伙伴的所有内容,如Vevo似乎想要他们的手机上播放的内容。 Android的播放器API会显示广告,因此它毕竟是货币化的收入来源。

这里的任何人都可以告诉我这个等式中我缺少什么,或者这只是谷歌中没有人知道或认为足够优先解决的问题?我是API的第3版的新手,所以也许我只是不知道关键的东西。

0 个答案:

没有答案