Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 如何检查youtube视频是否被阻止/限制/删除_Video_Web Applications_Youtube_Youtube Api - Fatal编程技术网

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

Video 如何检查youtube视频是否被阻止/限制/删除,video,web-applications,youtube,youtube-api,Video,Web Applications,Youtube,Youtube Api,我有一个存储用户播放列表的网站,但有时曾经可用的视频会因为侵犯版权而被删除,或者被删除。 我希望我的网站能够自动检测何时发生这种情况,这样它就可以删除或替换视频。 我做了很多研究试图弄明白这一点,但什么都没用。 例如,youtube视频ID IcmTyiVkhGk的api数据请求(由于版权原因不可用)没有yt:state变量(这将表明它受到限制),在访问控制下,它没有表示受限或任何类似的内容。如何检查这种类型的数据 基本上是用这个来获取数据,但我认为没有相关的数据 此站点能够检测站点所在的区域

我有一个存储用户播放列表的网站,但有时曾经可用的视频会因为侵犯版权而被删除,或者被删除。 我希望我的网站能够自动检测何时发生这种情况,这样它就可以删除或替换视频。 我做了很多研究试图弄明白这一点,但什么都没用。 例如,youtube视频ID IcmTyiVkhGk的api数据请求(由于版权原因不可用)没有yt:state变量(这将表明它受到限制),在访问控制下,它没有表示受限或任何类似的内容。如何检查这种类型的数据

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

此站点能够检测站点所在的区域: 有人知道这是如何工作的吗?

使用V3API。

你的问题分为两部分

  • 若要检查视频是否已从YouTube中删除,请发送带有视频ID的视频:列表请求。对于单个ID,您只需检查totalResults是否为0。如果一次检查多个视频ID,请在items响应中循环,查看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攻击


    但是,该方法不检测区域限制

    这正是我最后要做的。谢谢。它看起来很有效,因为你在里面放了一个假身份证。如果您尝试一个真正禁用的视频,它将不起作用。您需要请求状态部分,它将包含
    uploadStatus:rejected
    ,用于删除的视频,原因在
    rejectionStatus
    中,这不起作用。除了YT可以更改该文本之外,用户还可以进行其他语言的设置。