这是我的代码的一部分:
$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
答案 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()函数中的某些内容而返回错误(如超时)。无论如何都应该检查错误。
对我而言,它运作良好。