【问题标题】:youtube v3 api, check if Video existingyoutube v3 api,检查视频是否存在
【发布时间】:2015-08-04 10:23:53
【问题描述】:

我尝试检查 youtube 视频是否在线、不是私人视频、未删除等。我需要它用于视频博客。

我找到并尝试过的所有代码都不起作用。我希望你能帮助我。 我已经注册了新的 API v3。

我的代码如下,但我总是得到“Bad Request 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";
                }  

【问题讨论】:

  • 我已经设法让您的代码正常工作。打印出来的 $theUrl 字符串是什么样的? 400 错误请求通常意味着参数/令牌/过滤器有问题,请参阅此处developers.google.com/youtube/v3/docs/errors
  • $theURL 的输出:googleapis.com/youtube/v3/… - 我不知道如何使用正确的参数
  • 这是打印请求:( [0] => HTTP/1.0 400 Bad Request [1] => Content-Type: text/html; charset=UTF-8 [2] => Content -长度:1419 [3] => 日期:2015 年 8 月 4 日星期二 11:27:13 GMT [4] => 服务器:GFE/2.0)
  • 有时我会收到 403 代码
  • 再一次,您提供的 URL 对我有用。您正在用生成的 API 密钥替换 URL 中的“api_key”,不是吗? developers.google.com/youtube/v3/getting-started

标签: php youtube-api


【解决方案1】:

找到了解决办法。但我没有弄清楚,如何将锁定的视频显示为离线。我在 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>";

【讨论】:

    猜你喜欢
    • 2016-02-26
    • 2015-08-10
    • 1970-01-01
    • 2015-08-27
    • 2015-10-08
    • 2015-05-23
    • 1970-01-01
    • 2016-11-18
    • 2015-06-22
    相关资源
    最近更新 更多