我试图让我的客户端应用程序过滤掉不允许嵌入的视频。我的理解是,没有办法限制提要(即 format=5 不够)来执行此操作,并且我必须自己检查条目的属性,以获取 <yt:accessControl>
标签和 <app:control>
和<yt:state>
标签。
这对我不起作用。
例如这个视频: https://www.youtube.com/watch?v=waxat-_tRH8
不嵌入: https://www.youtube.com/embed/waxat-_tRH8
即使 API 返回的数据表明(据我所知)它应该能够嵌入: https://gdata.youtube.com/feeds/api/videos/waxat-_tRH8?v=2
该条目不包含任何 <yt:noembed>
标签(see prior question)和 <media:restriction type='country' relationship='deny'>ME DE RS</media:restriction>
没有解释这一点,因为我在美国(see prior question) (see prior question) .
我在这里缺少什么?
编辑:上面的嵌入链接在我的网络浏览器中有效,但在我的客户端应用程序的 WebView 中无效......!?
最佳答案
某些视频应用了域级白名单或黑名单。这是由内容所有者自行决定完成的。
如果存在白名单或黑名单,并且无法确定嵌入站点的域(可能是因为在您的 native 应用程序中没有真正的引用域),则默认行为是阻止播放。
这篇博文也有更多细节:http://youtube-eng.blogspot.co.uk/2011/12/understanding-playback-restrictions_28.html
关于YouTube 嵌入给出 "restricted from playback on certain sites"错误,尽管 API 元数据另有指示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13407482/