0

まず、クライアント側で Twitter ストリーミング API にアクセスし、AngularJS を介して結果を管理する必要がある tweetganic アプリに取り組んでいます。

これは私のCoffeescript / JSです:

@AccountCtrl = ["$scope", "$http", ($scope, $http) ->
  $scope.doSearch = ->
    $scope.twitter = $http.post("https://tweetganic:password@stream.twitter.com/1.1/statuses/filter.json",
        track: $scope.searchTerm)
]

doSearch() を実行するボタンをクリックすると、コンソールに次のエラーが表示されます。

OPTIONS https://stream.twitter.com/1.1/statuses/filter.json 401 (Unauthorized) angular.js:9231
 (anonymous function) angular.js:9231
 sendReq angular.js:9066
 $http angular.js:8857
 $http.(anonymous function) angular.js:9012
 $scope.doSearch twitter_accounts.js:9
 (anonymous function) angular.js:6299
 (anonymous function) angular.js:12880
 Scope.$eval angular.js:7994
 Scope.$apply angular.js:8074
 $delegate.__proto__.$apply localhost:500
 (anonymous function) angular.js:12879
 (anonymous function) angular.js:1959
 forEach angular.js:134
 eventHandler angular.js:1958
XMLHttpRequest cannot load https://stream.twitter.com/1.1/statuses/filter.json. Origin http://localhost:3000 is not allowed by Access-Control-Allow-Origin.

angular 経由でストリーミング twitter api との接続を開く方法がわからないのはなぜですか?

リポジトリ: https://github.com/brianpetro/tweetganic

4

1 に答える 1

1

これは CORS の問題です。Twitter ストリーミング API は CORS をサポートしていません。

プロキシを使用できますhttps://github.com/gr2m/CORS-Proxy

于 2013-03-18T16:24:06.397 に答える