Ich versuche, die Spotify Web API für den Zugriff auf meine verfügbaren Spotify-Geräte zu verwenden. Siehe link für den spezifischen API-Endpunkt, auf den ich zugreifen möchte. Ich benutze Python 2.7 in einem virtualenv auf macOS Sierra.Python fordert Bibliothek Header-Autorisierung Problem
Ich habe bereits ein Autorisierungs-Token, das ich verwendet habe, um mehrere andere Funktionsaufrufe zu machen, damit ich weiß, dass das funktioniert. Dies ist jedoch das erste Mal, dass ich die Anforderungsbibliothek verwende, im Gegensatz zum Spotipy-Wrapper, der die HTTP-Anfragen an Spotpy-Funktionsaufrufe abstrahiert.
Die Dokumentation im obigen Link besagt, dass ich mein Autorisierungs-Token in der Kopfzeile übergeben muss. Ich verstehe, dass Sie im Request-Modul Header als ein Wörterbuch übergeben sollten, in dem sowohl der Schlüssel als auch der Wert Strings sind.
Hier ist der Code, den ich mit der Bitte an Sie:
token_string = token.encode('ascii','ignore')
print type(token_string)
headers = {"Authorization":token_string}
r=requests.get("https://api.spotify.com/v1/me/player/devices", headers=headers)
Ich kodiert das Token als String, weil ich die Anfragen Modul bevorzugt Strings über Unicode und das Token war ursprünglich in Unicode gelesen .
Ich bekomme immer einen 400 Fehler (siehe unten für was es druckt), die ein Autorisierungsproblem ist. Ich denke, das Problem kann sein, dass ich das Berechtigungs-Token nicht korrekt eingib. Hat jemand einen Einblick in das?
<Response [400]>
Ich fügte 'Bearer' hinzu und der Anruf funktionierte. Danke für die schnelle Antwort. Auch habe ich Spotpy verwendet, aber Spotipy scheint keine Funktionalität für Geräte und Wiedergabe zu haben, daher muss ich leider direkt durch die Anforderungsbibliothek gehen. Wenn es eine Möglichkeit gibt, diese Anrufe mit dem Spotipy-Wrapper zu machen, bin ich daran interessiert, sie zu erkunden. –