2014-03-06 3 views
1

저는 몇 시간 동안 사냥을 해왔고 설치 프로그램과 관련된 정보를 찾을 수없는 것 같습니다.각 및 Twitter REST API

MEAN 스택을 사용하고 각도 앱에서 Twitter API를 사용하고 싶습니다. 나는 필요한 모든 키를 가지고 있으며 노드를 사용하여 서버 측에서 트위터 API 인증을 트리거 한 다음 내 각진 페이지에 응답하여 토큰을 전달합니다. 이 토큰을 사용하여 각도 서비스에서 api에 요청할 수 있기를 바랬습니다. 내가 지금 일하기 위해 노력하고있는 요청은 주어진 사용자의 프로파일 객체를 가져 오는 것입니다. 아래에 내 서비스 방법을 첨부했습니다. 내가 그것을 실행할 때 얻을 수있는 오류는 허용되지 않는 405 메소드이며 액세스 제어 허용 허용 헤더가 없습니다.

angular.module('tms.system').factory('Twitter', ['$log', '$q', '$http', '$window', 'twitter', 'Global', function($log, $q, $http, $window, twitter, Global) { 
return { 
    findProfile: function(handle) { 

     var deferred = $q.defer(); 
     var config = { 
      timeout:3000, 
      headers: { 
       'Authorization': 'Bearer ' + Global.twitterToken, 
       'X-Testing' : 'testing' 
      } 
     }; 

     $http.get('https://api.twitter.com/1.1/users/show.json?screen_name=' + handle, config). 
      success(function(data) { 
       $log.info(data); 
       deferred.resolve(data); 
      }). 
      error(function(status) { 
       $log.error(status); 
      }); 

     return deferred.promise; 
    } 
}; 
}]); 
+0

트위터가 도메인 간 요청을 허용하지 않는 것 같습니다. 그래도 JSONP를 지원하는 것처럼 보이기 때문에'$ http.jsonp'를 사용할 수 있습니다. – Ian

+0

JSONP은 xdomain 솔루션입니다. – maurycy

답변

1

을 위해 $ http.get 일어날 않을거야 작동하도록하기 위해 JSON_CALLBACK와 $ http.jsonp를 사용한다고 생각 maurycy의 대답에 대한 논평 {그리고 succes없이 Angular에서 트윗을 얻으려고 시도하는 중},이를위한 최선의 방법은 일부 백엔드에서 얻는 것입니다.

1

나는 당신이이에 명시된 바와 같이, 그냥 나중에 참조하십시오

+0

이전에 시도했지만 400 개의 잘못된 요청 오류가 발생했습니다. 면밀히 검사하면 요청을하기 전에 내가 설정하고있는 헤더가 실제로 보내지 않는 것처럼 보입니다. 다시 한번 살펴 보겠습니다. 설정 변수에서 권장하는 방법으로 설정 한 것입니까? 그 방법을 사용하는 예제를 사용하여 몇 가지를 보았습니다. – Mark

+0

나는 개인적으로이 방법을 수행 이 angular.module ('을 myApp'같은 모듈 정의에서 함수의 [경우 // 의존성 주입 어떤], 기능 ($ httpProvider) { $ httpProvider.defaults.headers. [ 'X-Requested-With'] = 'xmlhttprequest'; 게시물 [ 'Content-Type'] = '응용 프로그램/x-www-form-urlencoded; charset = utf-8'; $ httpProvider.defaults.headers.common }) – maurycy

+0

이 설정으로 모든 http 요청에 내가 설정 한 모든 헤더가 포함됩니다. 헤더를 다르게 설정할 수있는 다른 API에 대한 다른 HTTP 요청이 있습니다. – Mark