2012-03-04 3 views
0

에서 JSON을 통해 비디오를 추출하는 데 실패, 여기 예제 :는 JSON으로 유튜브 비디오를 추출 할 때 가끔이 오류가 유튜브

은 XMLHttpRequest https://gdata.youtube.com/feeds/api/users/IcarusTouma?&alt=json를로드 할 수 없습니다. Origin http://localhost은 Access-Control-Allow-Origin에서 허용되지 않습니다.

jsonp를 사용해 보았지만 youtube는 jsonp를 허용하지 않습니다.

그래서 YouTube에서 동영상을 추출하십시오.

$. getJSON ('https://gdata.youtube.com/feeds/api/videos/' + id_video + '? & alt = json', function (data) { 
if (typeof data! == "undefined" && data) 
{ 
    var title = data ['entry'] ['title'] ['$ t']; 
    var thumb = data ['entry'] ['media $ group'] ['media $ thumbnail'] [0] ['url']; 
    var title = data ['entry'] ['author'] [0] ['name'] ['$ t']; 
    $. getJSON ('https://gdata.youtube.com/feeds/api/users/' + author + '? & alt = json', function (data) { 

    author_thumbnail var = data ['entry'] ['media $ thumbnail'] ['url']; 
    $ ('.items').append(html_carousel (thumb, title, author_thumbnail, author, 5,' youtube ', id_video, author')); 

    }); 
} 
}); 
+1

"& 콜백 =?" 당신의 URL에. – DG3

+0

원격 서버가 JSONP에서 응답하지 않으면 서버에서 데이터를 가져올 수 없습니다. – Joseph

답변

1

그냥 모두 JSON과 새로운 JSON-C 형식에 대해, 유튜브 데이터 API 참조 문서를 확인하는 데, 그들은 모두 당신이 callback GET 문자열 매개 변수에 의해 콜백을 지정할 수 JSON-P에 동의합니다. 이 링크는 이것이 사실이 있음을 입증합니다

https://gdata.youtube.com/feeds/api/videos?q=baseball&v=2&alt=jsonc&callback=functionName

긴 JSON 객체 반환이 경우에, functionName에 함수 호출에 싸여있다. 다음 URL은 동일한 호출이지만, 이전 (다소되지 않는) JSON 형식 :

https://gdata.youtube.com/feeds/api/videos?q=baseball&v=2&alt=json&callback=functionName

데이터는 약간 다르지만 같은 결과 세트가, functionName 다른 호출에 싸여. 이제 이러한 호출은 검색 매개 변수 ("야구")와 일치하는 동영상을 가져 오는 쿼리였습니다. 그러나 그들의 참조 문서 (JSON-CJSON 형식)를 열람하면 JSONP 호출과 같이 쿼리 문자열에서 콜백을 지정하여 제대로 작동하는 데 필요한 것을 얻을 수 있습니다.