如何检查YouTube视频是否被阻止/限制/删除

the*_*311 10 youtube video web-applications youtube-api

我有一个存储用户播放列表的网站,但有时可以使用的视频因侵犯版权而被删除,或被删除.我希望我的网站能够自动检测何时发生这种情况,以便删除视频或替换视频.我做了很多研究试图解决这个问题,但没有任何工作.例如,youtube视频ID IcmTyiVkhGk(由于版权不可用)的api数据请求没有yt:state变量(这表明它是受限制的),在访问控制下,它没有说限制或任何东西类似.你如何检查这种类型的数据?

http://gdata.youtube.com/feeds/api/videos/IcmTyiVkhGk?v=2&prettyprint=true

基本上用这个来获取数据,但没有相关数据,我不认为.

该网站能够检测到该网站的可用区域:http: //polsy.org.uk/stuff/ytrestrict.cgiytid = IcmTyiVkhGk有谁知道这是如何工作的?

joh*_*h10 10

使用v3 API. https://developers.google.com/youtube/v3/docs/videos/list

你的问题分为两部分.

  1. 要检查视频是否已从YouTube中删除,请发送带有视频ID的视频:列表请求.对于单个ID,您只需检查totalResults是否为0.如果一次检查多个视频ID,请循环显示项目响应,以查看YouTube上仍存在哪些视频ID.

例:

GET https://www.googleapis.com/youtube/v3/videos?part=id&id=abcdefghijklm&key={YOUR_API_KEY}

{
 "kind": "youtube#videoListResponse",
 "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/qFRkUhSdCF83BrjXm7uub8slGsk\"",
 "pageInfo": {
  "totalResults": 0,
  "resultsPerPage": 0
 },
 "items": [
 ]
}
Run Code Online (Sandbox Code Playgroud)
  1. 要检查访问限制,请发送contentDetails的videos:list请求.

例:

GET https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=IcmTyiVkhGk&key={YOUR_API_KEY}
Run Code Online (Sandbox Code Playgroud)

在项目[]下,您将检查

 "regionRestriction": {
 "blocked": [
  "QA",
  "AW",
  "IN",
  etc.
  ]
  }
Run Code Online (Sandbox Code Playgroud)

  • 它看起来很有效,因为你在那里放了一个假身份证.如果你尝试一个真正的残疾人,它将无法正常工作. (2认同)