Youtube API返回错误的值

时间:2014-12-01 00:49:08

标签: 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');

该功能应该检查视频是否可嵌入,然后简单地回显true或false,但即使视频是可嵌入的,它也会继续打印“1 = FALSE ---”。

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

1 个答案:

答案 0 :(得分:0)

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

我没有看到函数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()函数中的某些内容而返回错误(如超时)。无论如何都应该检查错误。

对我而言,它运作良好。