检查Youtube和Vimeo剪辑是否有效

Joh*_*han 12 php url

我已经尝试了很长一段时间来检查提交的链接是否是来自youtube.com或vimeo.com的有效电影剪辑,但我没有成功.

任何想法如何检查网址:

http://www.youtube.com/watch?v=jc0rnCBCX2c&feature=fvhl (valid)
http://www.youtube.com/watch?v=jc0FFCBCX2c&feature=fvhl (not valid)
http://www.youtube.com/v/jc0rnCBCX2c (valid)
http://www.youtube.com/v/ddjcddddX2c (not valid)
http://www.vimeo.com/463l522 (not valid)
http://www.vimeo.com/1483909 (valid)
http://www.vimeo.com/lumiblue (not valid)
http://www.youtube.com/user/dd181921 (not valid)
Run Code Online (Sandbox Code Playgroud)

我用的是php.

chr*_*acp 22

如果您检查请求中的响应标头http://gdata.youtube.com/feeds/api/videos/videoId,其中videoId是Google视频标识符,如果视频存在且400(错误请求),则应获得200 )如果视频不存在.

// PHP code

// Check if youtube video item exists by the existance of the the 200 response
$headers = get_headers('http://gdata.youtube.com/feeds/api/videos/' . $youtubeId);
if (!strpos($headers[0], '200')) {
    echo "The YouTube video you entered does not exist";
    return false;
}
Run Code Online (Sandbox Code Playgroud)


Hai*_*vgi 7

我在这个网站上看到了答案:www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_23765374.html

他说:

我建议您使用youtube的API,因为您正在尝试验证视频是否存在.或者如果你不想进入API的东西,那么你可以做一个简单的技巧.检查此链接:

http://code.google.com/apis/youtube/developers_guide_php.html#RetrievingVideoEntry

要检查是否存在视频,您需要提取"v"值并将包含视频ID的请求发送到:

http://gdata.youtube.com/feeds/api/videos/videoID

其中videoID是"v"值,例如视频FLE2htv9oxc将被查询如 http://gdata.youtube.com/feeds/api/videos/FLE2htv9oxc 如果它不存在那么你将得到一个页面"无效的id "如果它存在,将返回一个XML提要,其中包含有关视频的各种信息.这样你就可以检查视频是否存在.

希望这会让你朝着正确的方向前进.

与vimeo一样,尝试查看那里的api文档. http://www.vimeo.com/api

  • 请,请考虑不要在答案中直接链接到那个可怜的专家交流网站.该网站是SO有效解决的问题之一.别介意`paywall`.我差点编辑你的答案去除它,但..它不是我的答案,所以我不会.您可以引用来源,只需取出"http"部分即可删除链接. (8认同)