Python - Spotify API 返回错误 400 "Malformed JSON"



Heyo。我正在尝试在业余时间制作一个使用Spotify API的小型应用程序。我已经设法让我的程序使用oAuth 2,让用户授权我的应用程序来操作他们的Spotify,但我在Spotify API上遇到了某个端点的问题。

我遇到问题的端点是https://api.spotify.com/v1/me/player/play(这里有一个指向他们端点文档的链接https://developer.spotify.com/console/put-play/)。每当我试图向端点发出put请求时,我都会收到一个400状态代码,其中包含消息"格式错误的json",即使我从文档中复制/粘贴他们自己的json,我也会收到这个消息,所以我不认为我格式化json有问题,此外,我以前曾使用json调用其他端点,他们在这些调用中对我的格式化没有问题。

这是我的代码:

headers = {"Authorization":"Bearer {}".format(access_token)}
url = 'https://api.spotify.com/v1/me/player/play'
payload = {"context_uri": "spotify:album:5ht7ItJgpBH7W6vJ5BqpPr"}
r = requests.put(url, headers=headers, data=payload)
print(r)
print(r.text)

为了澄清,access_token是我从他们的授权过程中获得的访问令牌,我使用python请求进行http请求(以下是相关文档:https://requests.kennethreitz.org/en/master/)

我想知道这个问题是否是因为Spotify在其曲目ID中使用冒号,JSON中也使用冒号?我在这里的另一个线程中看到,我应该尝试将"Content-Type":"application/json"添加到我的头中,但这根本没有改变结果。

非常感谢您的帮助,如果您需要更多信息,请告诉我。非常感谢。

如果您的负载是dict,请在请求库中使用jsonkwargs。data适用于字符串负载。给你:

r = requests.put(url, headers=headers, json=payload)

最新更新