2011-04-27 2 views
2

OAuth를 사용하여 'twitter로 서명'을 통해 인증 한 후 사용자의 홈 타임 라인에로드하려고합니다. 이 라이브러리를 사용하여 인증 부분을 처리합니다. https://github.com/jmathai/twitter-async아약스 요청으로 Twitter OAuth 액세스 토큰을 보내는 방법은 무엇입니까?

인증 부분이 정상적으로 작동하지만 트위터 API에 요청 된 인증 된 사용자로 요청을 보내는 방법이 명확하지 않습니다.

// this call produces "is not allowed by Access-Control-Allow-Origin" error 
$.getJSON("http://api.twitter.com/1/statuses/home_timeline.json", function(json) { 
    console.log(json); 
}); 

그래서 내 질문에 내 요청과 토큰에 따라 사용자의 액세스를 어떻게 보내나요되고 어디 토큰이 저장됩니다 :이 같은 사용자의 홈 타임 라인에 대한 Ajax 요청을 만들고 싶어? 아니면이 문제에 잘못 접근하고 있습니까?

+0

[동일 기본 정책] (http://en.wikipedia.org/wiki/Same_origin_policy)에 의해 차단되었습니다. 이것을 [JSONP] (http://en.wikipedia.org/wiki/JSONP) 요청으로 변환해야합니다. –

+0

해당 라이브러리는 PHP 라이브러리이며 제공된 코드는 JavaScript입니다. 자바 스크립트에서 API 호출을하려면 자바 스크립트 OAuth 라이브러리를 사용해야합니다. –

답변

3

이 요청을 JSONP 요청으로 작성해야 도메인 간 AJAX를 수행 할 수 있습니다.

$.getJSON("http://api.twitter.com/1/statuses/home_timeline.json?callback=?", function(json) { 
    console.log(json); 
}); 

은 이것을 JSONP 요청으로 변환합니다.

제공하신 링크는 PHP 라이브러리 용입니다. 자바 스크립트에서 API 호출을하려면 JavaScript OAuth 라이브러리를 사용해야합니다.

+0

감사합니다. JSONP로 변환하면 동일한 원본 오류가 수정되었습니다. 나는 인상 (http://stackoverflow.com/questions/1769713/using-only-jquery-to-update-twitter-oauth)에서만 자바 스크립트에 의존하는 것은 나쁜 생각이다. 그래서 그것은 아약스 요청을 통해 PHP 파일을 호출하는 것이 좋을까요? 액세스 토큰이 저장되는 위치와 php 또는 js 여부에 관계없이 요청에 전달하는 방법에 대해서는 아직 명확하지 않습니다. – Moudy

+0

내가 가지고있는 PHP 라이브러리를 사용하고 그 라이브러리를 호출하는 것이 좋습니다. 당신은 당신을 위해 전화를 걸 수있는 PHP 스크립트에 AJAX 호출을 할 수 있습니다. –