php - 检查是否使用 PHP 删除了 YouTube 视频?

标签 php youtube

<分区>

Possible Duplicate:
Check if Youtube and Vimeo-clips are valid

我有一个链接到很多 YouTube 视频的网站,但很多时候这些视频被用户或 YouTube 删除了。这意味着我的网站上有很多死视频,而且数量如此之多,手动检查它们将是一场噩梦。

所以我正在寻找一种使用 PHP 检查 YouTube 视频是否仍然有效的方法。我看到很多人问同样的问题,但我无法使用任何已发布的解决方案。

最佳答案

使用 youtube V3 API 检查视频是否可以访问。有关更多信息,请参阅以下文档

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

基本上,使用您的 API key 发出 GET 请求

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

您将收到如下示例回复:

{
 "kind": "youtube#videoListResponse",
 "etag": "\"sZ5p5Mo8dPpfIzLYQBF8QIQJym0/N6KWrfNRyfPOarHfhvNS7j4jfxM\"",
 "pageInfo": {
  "totalResults": 0,
  "resultsPerPage": 0
 },
 "items": []
}*

如果您在响应的 items 中得到一个空数组,则视频无法访问。


下面说的是 API 的 V2,现已弃用。 (https://developers.google.com/youtube/2.0/developers_guide_protocol_video_entries)。

Note: The YouTube Data API (v2) has been officially deprecated as of March 4, 2014. Please refer to our deprecation policy for more information. Please use the YouTube Data API (v3) for new integrations and migrate applications still using the v2 API to the v3 API as well.

向此 URL 发送请求,以验证视频是否存在

http://gdata.youtube.com/feeds/api/videos/<videoid>

这是它的用法。

$headers = get_headers('http://gdata.youtube.com/feeds/api/videos/' . $videoId);
if (!strpos($headers[0], '200')) {
    echo "The YouTube video you entered does not exist";
    return false;
}

关于php - 检查是否使用 PHP 删除了 YouTube 视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10161698/

相关文章:

php - Magento - 出生日期文本位于 3 个文本字段之上

php - 如何最好地计算高流量网站上每个用户每页的浏览量?

php - 构建数组来表示公司层次结构

javascript - 通过AJAX从$_SESSION发送变量到PHP进行密码更改,怎么做?

iframe - 即使 showinfo=0,Youtube 嵌入也会显示不需要的顶栏

php - 执行代码后重定向

regex - 以编程方式,Youtube Content ID如何工作?

objective-c - iOS YouTube 视频上传错误

android - 我的 webview 视频不断加载,如何播放?

search - 搜索旧的YouTube视频