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

时间:2015-05-12 12:16:04

标签: video web-applications youtube 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.cgi?ytid=IcmTyiVkhGk 有谁知道这是如何工作的?

2 个答案:

答案 0 :(得分:9)

使用v3 API。     caniuse.com

您的问题分为两部分。

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

    GET https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=IcmTyiVkhGk&key={YOUR_API_KEY}
    
    1. 要检查访问限制,请发送videoDetails的视频:列表请求。
    2. 示例:

       "regionRestriction": {
       "blocked": [
        "QA",
        "AW",
        "IN",
        etc.
        ]
        }
      

      在[]项下,您将检查

      Route::resource('recipe', 'RecipesController');

答案 1 :(得分:0)

我还有一个分享您的部分功能的网站。我使用php代码加载视频的youtube页面,然后解析源代码以找到关键词“抱歉”。我可以在几秒钟内查看大约1.1k视频。如果你的呼叫时间正确,那么作为DDOS攻击传递是不够的。

但是,此方法不会检测区域限制。