2016-06-20 18 views
1

新しいプレイリストを作成する方法に関するWeb APIノートへのリンクです。 https://developer.spotify.com/web-api/create-playlist/(Spotify Web API)新しいプレイリストを作成する - POSTリクエストで 'Error 403(Forbidden)'が返される

私が理解する限り、POSTはurl https://api.spotify.com/v1/users/{user_id}/playlistsを要求します。これは、アクセストークンとデータを渡している間に要求されます。データのコンテンツタイプは 'application/json'です。

何らかの理由でこれが失敗し、エラー403(禁止)がコンソールに返されます。

何か不足していますか?

//(playlistName, userId, accessToken) are passed to this. 
 

 
var urlString = 'https://api.spotify.com/v1/users/' + userId + '/playlists'; 
 

 
var jsonData = { 
 
    "name": playlistName, 
 
    "public": false 
 
}; 
 

 
$.ajax({ 
 
    type: 'POST', 
 
    url: urlString, 
 
    data: jsonData, 
 
    dataType: 'json', 
 
    headers: { 
 
    'Authorization': 'Bearer ' + accessToken 
 
    }, 
 
    contentType: 'application/json', 
 
    success: function(result) { 
 
    console.log('Woo! :)'); 
 
    }, 
 
    error: function() { 
 
    console.log('Error! :('); 
 
    } 
 
})

+0

あなたのOAuthトークンを確認してください。最初の一見で残りはうまくいくようです。 –

+0

ちょっと:) 例を使ってプレイリストを作成できます。これは、Ajaxリクエストに使用しているオーナーID、プレイリスト名、oAuthトークンを使用しています。 コンテンツタイプを「contentType:application/json;」に変更するかどうかを確認しようとしましたが、 charset = utf-8 'は運がないものは何でもします。 その例でうまくいくようです。しかし、Ajax POSTではなく。 (私はまだ403エラーを取得しています)。あなたはそれを働かせましたか? ありがとう、 –

答えて

0

偽のデータで充填するとき、あなたの例を試してみました、私は401 unauthorizedを取得します。あなたは許可されていますが、APIは実際にあなたに権利を与えません(403 forbidden)。

認可ガイドをご覧ください。私はかなり確信しています、あなたのエラーはそこにあります。特にscopeをご覧ください。あなたは単に、ログインに十分な電力を与えないかもしれません。したがって、プレイリストを追加することを含まないパブリックアクセスのみで終了します。

私はAPIドキュメントを形成引用:

はプライベートのプレイリストを作成できるようにするには、ユーザーは playlist-modify-private範囲を付与している必要があります。

https://developer.spotify.com/web-api/authorization-guide/

+0

今すぐご利用ください!私はoAuthトークンを生成すると、 'playlist-modify-private'が正しく組み込まれていなかったために混乱しました。それが期待通りに機能していることが追加されました。それを絞り込んで助けてくれてありがとう:) –

関連する問題