我一直在打獵幾個小時,似乎無法找到任何特定於我的設置的信息,所以在這裏。Angular&Twitter REST API
我正在使用MEAN堆棧,並希望在我的角度應用程序中使用Twitter API。我有所有必需的密鑰,並使用Node在服務器端觸發一個twitter 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;
}
};
}]);
錯誤似乎是Twitter不允許跨域請求。它看起來像他們支持JSONP,所以你可以使用'$ http.jsonp' – Ian
JSONP是xdomain解決方案 – maurycy