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

Kra*_*fty 12 youtube-api android-youtube-api

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

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

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

search.setVideoSyndicated("true");
Run Code Online (Sandbox Code Playgroud)

不幸的是,这太过限制了.所有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']
Run Code Online (Sandbox Code Playgroud)

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

....

好吧......所以尽管这只适用于API版本2.0(?)我想,"嘿......我是一个好奇的家伙......"我创建了以下测试URL并通过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!NKRihanna或(在此处插入流行艺术家du jour)会产生AWFUL结果.

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

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

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

这个问题似乎是长期存在的,但也是一个"利基"领域,谷歌会告诉他们的API开发者社区使用联合属性来删除其合作伙伴的所有内容,例如Vevo似乎希望他们的内容在移动.Android的播放器API会显示这些广告,因此它毕竟是货币化的收入来源.

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