2016-06-20 2 views
1

Hier finden Sie den Link zu den Web API-Hinweisen zum Erstellen einer neuen Wiedergabeliste. https://developer.spotify.com/web-api/create-playlist/(Spotify Web API) Neue Wiedergabeliste erstellen - POST-Anfrage wird mit 'Error 403 (Forbidden)' zurückgegeben

Soweit ich verstehe, fragt der POST die URL https://api.spotify.com/v1/users/{user_id}/playlists. Dies wird beim Übergeben des Zugriffstokens und der Daten angefordert. Der Inhaltstyp der Daten lautet "application/json".

Aus irgendeinem Grund schlägt dies fehl und gibt einen Fehler 403 (Forbidden) in der Konsole zurück.

Alles, was ich vermisse?

//(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

Bitte überprüfen Sie Ihre OAuth-Token. Der Rest scheint auf den ersten Blick gut zu sein. –

+0

Hey :) Ich kann eine Wiedergabeliste erstellen, indem Sie ihr Beispiel verwenden. Verwenden Sie dazu meine Besitzer-ID, den Namen der Wiedergabeliste und das oAuth-Token, das ich für die Ajax-Anfrage verwende. Ich habe gerade versucht, zu sehen, wenn Sie den Inhaltstyp zu 'contentType ändern: application/json; charset = utf-8 'würde alles ohne Glück tun. Es scheint zu ihrem Beispiel gut zu funktionieren. Aber nicht durch einen Ajax POST. (Ich bekomme immer noch den Fehler 403). Hast du es zur Arbeit gebracht? Danke, –

Antwort

0

Ihr Beispiel versucht haben, bekomme ich eine 401 unauthorized, wenn sie in falsche Daten zu füllen. Sie sind also berechtigt, aber die API gewährt Ihnen wirklich nicht die Rechte (403 forbidden).

Bitte sehen Sie sich die Autorisierungsanleitung an. Ich bin mir ziemlich sicher, dein Fehler ist da. Besonders sehen Sie sich scope. Sie können einfach nicht genug Strom im Login vergeben. Und damit enden nur öffentliche Zugriffe, die das Hinzufügen von Wiedergabelisten nicht enthalten.

Ich zitiere die API-Dokumentation bilden:

Zur Anzeige private Wiedergabelisten zu erstellen, muss der Benutzer den Umfang playlist-modify-private erteilt hat.

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

+0

Funktioniert jetzt! Ich habe beim Generieren des oAuth-Tokens versagt und die 'playlist-modify-private' wurde nicht korrekt aufgenommen. Jetzt, wo es hinzugefügt wurde, funktioniert es wie erwartet! Danke, dass du es eingegrenzt und geholfen hast :) –

Verwandte Themen