0

已设置 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 禁止

我错过了什么明显的东西吗?

4

2 回答 2

2

发现可以生成多个不同的 API 密钥。默认是“浏览器 api 密钥”,但我需要在我的服务器上运行 PHP(当然)是一个“服务器 api 密钥”。

我设置了它,并将我的服务器的 IP 列入白名单。

问题解决了。

于 2013-09-03T14:11:48.893 回答
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);
于 2013-09-03T13:24:28.850 回答