哈哈。我正尝试在业余时间做一个使用Spotify API的小应用程序。我已经设法让我的程序使用Spotify 2,让用户授权我的应用程序来操作他们的oAuth,但我遇到了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-requests发出http请求(这是https://requests.kennethreitz.org/en/master/的文档)
我想知道这个问题是不是因为Spotify在它们的曲目in中使用冒号,而冒号也在JSON中使用的事实?我在这里的另一个帖子中看到,我应该尝试将"Content-Type":"application/json"添加到我的头文件中,但这并没有改变结果。
任何帮助都是非常感谢的,如果你需要更多的信息,请让我知道。谢谢!
发布于 2019-10-24 23:45:12
如果您的有效负载是一个dict,请在请求库中使用json kwargs。data适用于字符串有效负载。这就是了:
r = requests.put(url, headers=headers, json=payload)https://stackoverflow.com/questions/58517684
复制相似问题