youtube v3 api,检查视频是否存在

时间:2015-08-04 10:23:54

标签: php youtube-api

我已尝试检查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";
                }  

1 个答案:

答案 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>";