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_contentsWeb サーバーでサポートされていますか? セキュリティ上のリスクがあるため、多くの 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 に答える