Youtube API 返回错误的值



这是我代码的一部分:

$key = 'XXX';
function check_video($id, $url) {
    $x = get_data('https://www.googleapis.com/youtube/v3/videos?part=status&id='.$url.'&key='.$key);
    $x = json_decode($x, true);
    if($x['items'][0]['status']['embeddable'] == true){
        echo "$id = TRUE --- ";
    }else{
        echo "$id = FALSE --- ";
    }
}
check_video(1, '9bZkp7q19f0');

该函数应该检查视频是否可嵌入,然后简单地回显真或假,但它会一直打印"1 = FALSE --- ",即使视频是可嵌入的。

视频示例:http://i.gyazo.com/7a84e78cc665ca4920cef18e341f09b6.png

首先

,在上面的代码中,函数 check_video() 中的变量$key是未定义的。变量$key必须在函数中定义或传入。如果只是一个简单的复制/粘贴混乱,请继续:

我没有看到函数 get_code() 的定义,所以我假设它是一个简单的 cURL 包装器。

其次,将完成的网址放入浏览器中,看看它是否有效。

https://www.googleapis.com/youtube/v3/videos?part=status&id=9bZkp7q19f0&key=YOUR_KEY

第三,在 json_decode() 之后加上一个 print_r($x),以查看 YouTube API 是否因为 get_code() 函数中的某些内容(如超时)而返回错误。无论如何,您都应该检查错误。

对我来说,它工作得很好。

相关内容

  • 没有找到相关文章