2013-09-03 2 views
0

는 API 키를 설정 한 금지는 허용 참조 자에 내 도메인을 추가하고, 다음과 같이 유튜브 V3 API를 사용하여 PHP로 전화를 걸하려고 :YouTube Data API가 스트림을 열지 못했습니다 : HTTP 요청에 실패했습니다! HTTP/1.0 403,

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 Forbidden

나는 무엇인가를 놓쳤습니까?

답변

0

은 웹 서버에서 지원되는 file_get_contents입니까? 많은 웹 서버 보안 위험으로 인해이 기능을 지원하지 않습니다. 대신 컬 사용을 들여다 보았습니까? 이 같은

아마 뭔가 :

$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); 
+0

? 응용 프로그램의 쿼리 문자열에. StackOverflow에 올바르게 붙여 넣지 않은 것으로 보입니다. 그래서 여전히 같은 문제가 있습니다. – Claud

+0

나는 놓치지 않았다. 쿼리 문자열에. 나는 여전히 같은 문제가있다? 현재와 ​​맞다. – Claud

1

하나가 생성 할 수있는 여러 가지 API 키가있다되거나. 기본값은 '브라우저 API 키'이지만 내 서버에서 PHP를 실행하는 데 필요한 것은 '서버 API 키'입니다.

나는 이것을 설정하고 내 서버의 IP를 허용했다.

문제가 해결되었습니다.

관련 문제