我有一个存储用户播放列表的网站,但有时由于侵犯版权而被删除的视频或被删除。我希望我的网站自动检测到何时发生,以便可以删除视频或替换视频。我做了很多研究,试图解决这个问题,但没有任何奏效。例如,YouTube视频ID ICMTYIVKHGK的API数据请求(由于版权而无法获得)没有YT:状态变量(这表明它是限制的)相似的。您如何检查此类数据?
http://gdata.youtube.com/feeds/api/videos/icmtyivkhgk?v=2&prettyprint=true
基本上是使用它来获取数据,但是没有我认为没有相关数据。
本网站能够检测到该站点可用的区域:http://polsy.org.uk/stuff/ytrestrict.cgi?ytid=icmtyivkhgk有人知道这是如何工作的吗?
使用V3 API。 https://developers.google.com/youtube/v3/docs/videos/list
您的问题是2部分。
- 要检查视频是否已从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": [
]
}
- 要检查访问限制
示例:
GET https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=IcmTyiVkhGk&key={YOUR_API_KEY}
在项目下[]您将检查
"regionRestriction": {
"blocked": [
"QA",
"AW",
"IN",
etc.
]
}
我也有一个网站可以共享您的一些功能。我使用PHP代码加载视频的YouTube页面,然后解析源代码以找到关键字"对不起"。我可以在几秒钟内检查大约1.1k视频。如果您打电话到正确的时间,则不足以通过DDOS攻击。
但是,该方法无法检测到区域限制。