设置了API KEY,将我的域名添加到允许的引荐来源,并尝试使用PHP调用YouTube V3 API,如下所示:
file_get_contents("https://www.googleapis.com/youtube/v3/search?part=snippet&q=my_search_query&type=video&key=my_application_key")
但是
无法打开流:HTTP请求失败! HTTP / 1.0 403禁止
我错过了一些明显的东西吗?
答案 0 :(得分:2)
透明,可以生成多个不同的API密钥。默认为浏览器api密钥'但我在服务器上运行PHP所需的那个(当然)是一个服务器api密钥'。
我设置了它,并将我服务器的IP列入白名单。
问题解决了。
答案 1 :(得分:0)
file_get_contents
?由于安全风险,许多Web服务器不支持此功能。你有没有考虑使用curl?
可能是这样的:
$option = array(
'part' => 'snippet',
'q' => 'search_query',
'type' => 'video',
'key' => 'your_key'
);
$url = "https://www.googleapis.com/youtube/v3/search?".http_build_query($option, 'a', '&');
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, false);
$json_response = curl_exec($curl);
curl_close($curl);
$responseObj = json_decode($json_response);