我已尝试检查YouTube视频是否在线,非私密,未删除等。我需要将其用于视频博客。
我找到并尝试过的所有代码都没有用。我希望你能帮助我。 我已注册新的API v3。
我的代码如下,但我总是得到错误请求400"
$theURL = "https://www.googleapis.com/youtube/v3/videos?part=status&id=". get_post_meta($post->ID,"wpzoom_post_embed_code", true) ."&key=my_api_key";
// echo $theURL;
//$theURL = "http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=". get_post_meta($post->ID,"wpzoom_post_embed_code", true) ."&format=json";
$headers = get_headers($theURL);
print_r ($headers);
if (substr($headers[0], 9, 3) !== "404") {
echo "online";
} else {
echo "offline";
}
答案 0 :(得分:0)
找到解决方案。但是我没有弄清楚,我怎么能将锁定的视频显示为离线。我在我的curl数据字符串中搜索" totalResults":0,"因为我立即获取一个视频ID。
这是我的代码。 - 也许有人有更好的想法来解决这个小问题。
$theURL = "https://www.googleapis.com/youtube/v3/videos?part=status&id=" . get_post_meta($post->ID, "wpzoom_post_embed_code", true) . "&key=my_api_key";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$theURL);
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
$data = curl_exec($ch);
//var_dump($data);
if (strpos($data,'totalResults": 0,') !== false) {
echo '<span> <img src="link_for_button" alt="online"/> Offline</span><br />'; //echo "<span style='color:red;'>Video Offline</span>";
} else echo '<span><img src="link_for_button" alt="online"/> Online</span><br />'; //echo "<span style='color:green;'>Video Online</span>";