2017-04-25 11 views
1

ユーザーを認証してセッションアクセストークンを与えるためのInstagram "サーバー側のワークフロー"が機能しません。 「YOUは、クライアントIDを提供しなければならない」と、それだけで応答、アクセストークンを取得するために https://api.instagram.com/oauth/access_token にこのコードを投稿するとき、しかし https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=codeInstagram認証APIがアクセストークンを返さない

:最初の部分は、私はここに戻ってからコードを得ることができることで動作します私がこれをフォームデータの一部として提供したとしても、私は最初にコードを取得するのに使用した同じクライアントIDです!

ここ

は、私が使用していますコードです:「アプリケーション/ x-www-form-urlencodedで」を用いて、その後解決されたJSONなどのデータを、掲載して

getIgToken: function (igCode) { 
      let data = { 
       client_id: config.imported.instagram.client_id, 
       client_secret: config.imported.instagram.client_secret, 
       grant_type: 'authorization_code', 
       redirect_uri: 'http://localhost:5000/app/scrape', 
       code: igCode 
      } 
      return $http({ 
       method: 'POST', 
       url: 'https://api.instagram.com/oauth/access_token', 
       data: data, 
       headers: { 
        "Content-Type": "application/x-www-form-urlencoded", 
       }, 
      }) 

     } 

どうやら他の人が報告してきた問題 - しかし、これは今のところうまくいかないようです。ここで

は、正確なエラーメッセージが返されます。

{error_type: "OAuthException", code: 400, error_message: "You must provide a 
client_id"} 
code:400 
error_message:"You must provide a client_id" 
error_type:"OAuthException" 

答えて

1

する必要がありますあなたのコードは次のようになります

data: JSON.stringify(data), 

を試し、JSON形式にデータオブジェクトを変換しますこの

getIgToken: function (igCode) { 
      let data = { 
       client_id: config.imported.instagram.client_id, 
       client_secret: config.imported.instagram.client_secret, 
       grant_type: 'authorisation_code', 
       redirect_uri: 'http://localhost:5000/app/scrape', 
       code: igCode 
      } 
var jsonData= JSON.stringify(data) 
      return $http({ 
       method: 'POST', 
       url: 'https://api.instagram.com/oauth/access_token', 
       data: jsonData, 
       headers: { 
        "Content-Type": "application/x-www-form-urlencoded", 
       }, 
      }) 

     } 
関連する問題