2016-10-06 47 views
2

私はSpotify APIを数日前から見てきましたが、ソースコードの例で、ユーザーのプレイリストデータにアクセスするためのアクセストークンを取得する方法がまだわかりません。私は、ログインウィンドウをプルアップし、ユーザーがログインした後、認証コードを受け取るまでに行きました。Spotify APIのアクセストークンはどのように入手できますか?

window.open("https://accounts.spotify.com/api/token? 
grant_type=authorization_code&code="+code+"&redirect_uri=myurl&client_id=3137b15 
2f1424defa2c6020ae5c6d444&client_secret=mysecret"); 

$.ajax(
    { 
     url: "https://accounts.spotify.com/api/token?grant_type=authorization_code&code="+code+"&redirect_uri=myurl&client_secret=mysecret&client_id=myid", 
     success: function(result){ 
     alert("foo"); 
     } 
    } 
); 

しかし、私はのような結果を得るいずれかの方法:代わりに、トークンの

{"error":"server_error","error_description":"Unexpected status: 405"} 

をこの時点で、私は次のようなことをやってみました。私はこれがシンプルだと確信していますが、私はJSにひどいです。助けてください!ありがとうございました!

(編集)私は言及を忘れてしまった:

リンクAPI認証ガイド:https://developer.spotify.com/web-api/authorization-guide/

を私は「ヘッダを送信上の別の方法があることがわかり、ステップ4にこだわっていますパラメータ "またはcURL要求が働く可能性があります。しかし、どのようにこれらのことをやっているのかわからないので、前回と同じようにbody_idとclient_secretをbody requestパラメータとして送ることに固執しました。

PS:自分で作成しているこのアプリケーションのみを使用しています。代わりにこのプロセスを経ずにトークンをハードコードできる方法はありますか?

答えて

3

認証コードを受信した場合、あなたはその/ API /トークンエンドポイントに、Spotifyはアカウントサービスにこの時間をPOSTリクエストを行うことにより、アクセストークンでそれを交換する必要があります。

ですから、リクエストボディ内のパラメータで、SpotifyはAPIにPOSTリクエストを行う必要があります。

$.ajax(
    { 
    method: "POST", 
    url: "https://accounts.spotify.com/api/token", 
    data: { 
     "grant_type": "authorization_code", 
     "code":   code, 
     "redirect_uri": myurl, 
     "client_secret": mysecret, 
     "client_id":  myid, 
    }, 
    success: function(result) { 
     // handle result... 
    }, 
    } 
); 

(追記として、「予期しない状況:405」は、HTTPステータスコードを参照しています。405メソッドが許可されていません。は、試したリクエストメソッド(GETリクエスト)がそのURLで許可されていないことを示します。

+0

興味深いことに、今すぐそれを撃つ、私はそれがどのように1分で行くのかを教えてあげます。 –

+0

これを試してみました。 'XMLHttpRequestはhttps://accounts.spotify.com/api/tokenをロードできません。要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しません。 Origin 'www.mysite.com'はアクセスが許可されていません。私は、有効なコード、秘密のID、ID、およびURLを持っているという事実を知っています。 grant_typeについては、私はちょうど "authorization_code"を入れました –

+0

@AshwinGuptaこの正確な問題に[この回答](http://stackoverflow.com/a/28406268)があります:* "https://accounts.spotify.comへのリクエスト/ api/tokenはAJAXリクエストではなくサーバー側にする必要があります」* – Frxstrem

関連する問題