在使用here的授权码流进行授权时,我一直感到有些噩梦。我最初遵循the official Spotipy docs,它提供了一种实用的方法来协助授权。在那没有用之后,我尝试通过python和requests模块以及通过命令行手动发送发布请求,但无济于事。
它成功请求了授权,将我带到url中具有授权代码的重定向uri。发生错误时,尝试与访问令牌交换此授权码。
我尝试了不同版本的python,创建了一个新的Spotify应用来重置客户端ID和秘密密钥,以及各种重定向uri,但似乎没有任何效果。我还验证了我的userId有效,并且可以通过其他方式工作。我还通过Spotify开发人员仪表板将我尝试过的所有重定向uri添加到了我的应用设置中。
这是我在Spotipy文档之后与实用程序方法一起使用的代码:
userId = '<my user id>'
scope = 'user-top-read playlist-modify-private playlist-read-private'
clientId = '<my client id>'
clientSecret = '<my client secret>'
redirectUri = 'http://example.com/callback/'
token = util.prompt_for_user_token(userId, scope=scope, client_id=clientId, client_secret=clientSecret, redirect_uri=redirectUri)
错误是:
Traceback (most recent call last):
File "<filepath>", line 14, in <module>
token = util.prompt_for_user_token(userId, scope, client_id=clientId, client_secret=clientSecret, redirect_uri=redirectUri)
File "C:\Users\<me>\AppData\Local\Programs\Python\Python37-32\lib\site-packages\spotipy\util.py", line 86, in prompt_for_user_token
token_info = sp_oauth.get_access_token(code)
File "C:\Users\<me>\AppData\Local\Programs\Python\Python37-32\lib\site-packages\spotipy\oauth2.py", line 217, in get_access_token
raise SpotifyOauthError(response.reason)
spotipy.oauth2.SpotifyOauthError: Bad Request