<分区>
Possible Duplicate:
Check if Youtube and Vimeo-clips are valid
我有一个链接到很多 YouTube 视频的网站,但很多时候这些视频被用户或 YouTube 删除了。这意味着我的网站上有很多死视频,而且数量如此之多,手动检查它们将是一场噩梦。
所以我正在寻找一种使用 PHP 检查 YouTube 视频是否仍然有效的方法。我看到很多人问同样的问题,但我无法使用任何已发布的解决方案。
<分区>
Possible Duplicate:
Check if Youtube and Vimeo-clips are valid
我有一个链接到很多 YouTube 视频的网站,但很多时候这些视频被用户或 YouTube 删除了。这意味着我的网站上有很多死视频,而且数量如此之多,手动检查它们将是一场噩梦。
所以我正在寻找一种使用 PHP 检查 YouTube 视频是否仍然有效的方法。我看到很多人问同样的问题,但我无法使用任何已发布的解决方案。
最佳答案
使用 youtube V3 API 检查视频是否可以访问。有关更多信息,请参阅以下文档
基本上,使用您的 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/