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