1

Angularjs を使用して Twitter GET statuses/user_timeline にアクセスしようとしています。私はすでにベアラートークンを持っています。Angularjs を使用してアプリケーションのみの認証を行おうとしています。

エラー コード オプションhttps://api.twitter.com/1.1/statuses/user_timeline.json (匿名関数) @ angular.js:10722sendReq @ angular.js:10515serverRequest @ angular.js:10222processQueue @ angular.js:14745(anonymous関数) @ angular.js:14761Scope.$eval @ angular.js:15989Scope.$digest @ angular.js:15800Scope.$apply @ angular.js:16097bootstrapApply @ angular.js:1660invoke @ angular.js:4478doBootstrap @ angular. js:1658bootstrap @ angular.js:1678angularInit @ angular.js:1572(匿名関数) @ angular.js:28899trigger @ angular.js:3024eventHandler @ angular.js:3298 (インデックス):1 XMLHttpRequest はhttps://apiを読み込めません.twitter.com/1.1/statuses/user_timeline.json . プリフライトの応答に無効な HTTP ステータス コード 400 が含まれています

以下は私が書いたコードです。

var twitter = angular.module("twitterServices",["ngResource"]);
var auth = angular.module("authInterceptor",[]);

twitter.service("tweets",function($http,$resource)
{
  var BearerToken = "some BEarer Token";
  $http.defaults.headers.common.Authorization = "Bearer " + BearerToken;
  $http.defaults.useXDomain = true;
  var userTimeURL = "https://api.twitter.com/1.1/statuses/user_timeline.json"
  return {
    getUserStat :  function()
    {
     return  $http.get(userTimeURL);
     $http.post(userTimeURL,
     {
       params : {user_id: 'siddmegadeth'}
     },
     {
       headers: {'Accept': 'application/json', 'Content-Type': 'application/json'}
     }).then(function success(response)
     {
         log(response);
     });

    }
  }
});

auth.factory('intercept', [
  "$q", "$window", "$location", function($q, $window, $location, session) {
    var BearerToken = "some BEarer Token";
    return {
      request: function(config) {
        config.headers = config.headers || {};
        config.headers.Authorization = 'Bearer ' + BearerToken;
        return config;
      },
      response: function(response) {
        return response || $q.when(response);
      },
      responseError: function(rejection) {
        // your error handler
      }
    };
  }
]);

メインアプリで

var app = angular.module("myApp",["authInterceptor","ngMessages","ngRoute","ngAnimate","ngTouch","ui.bootstrap","ngResource","twitterServices"]);


app.config(function($routeProvider,$httpProvider)
{
  $httpProvider.interceptors.push('intercept');
  $httpProvider.defaults.useXDomain = true;
  delete $httpProvider.defaults.headers.common['X-Requested-With'];

  $routeProvider.
  when("/",{
    templateUrl : "templates/landing.html",
    controller : "landingCtrl"
  })
  .when("/login",{
    templateUrl : "templates/login.html",
    controller : "loginCtrl"
  })
  .otherwise({redirectTo : "/"});
});


app.run(function($rootScope)
{
  console.warn("App Running");
});

コントローラーで

app.controller("globalCtrl",function($scope,$rootScope,$resource,$http,tweets)
{
  $rootScope.slideLeft = function()
  {

  }
  $rootScope.slideRight = function()
  {

  }
  tweets.getUserStat().then(function(res)
  {
    console.log(res);
  });



});

Twitter からデータを取得できません。助けてください。Chrome用のCORSプラグインも追加しましたが、それでも助けにはなりません。Xampp と nodejs を使用してみましたが、効果がありません。

4

0 に答える 0