多个范围导致授权失败

时间:2019-03-28 14:30:37

标签: python spotify spotipy

我一直在尝试使用授权代码流以及来自Spotipy API的示例来进行授权,如下所示。

import sys
import spotipy
import spotipy.util as util

scope = 'user-library-read playlist-read-private' # or else

if len(sys.argv) > 1:
    username = sys.argv[1]
else:
    print("Usage: %s username" % (sys.argv[0],))
    sys.exit()

token = util.prompt_for_user_token(username, scope)

if token:
    sp = spotipy.Spotify(auth=token)
    results = sp.current_user_saved_tracks()
    for item in results['items']:
        track = item['track']
        print(track['name'] + ' - ' + track['artists'][0]['name'])
else:
    print("Can't get token for", username)

我设法在范围为'user-library-read'的情况下正常工作,但是在更改范围或添加另一个范围时,我得到了重新认证的请求。我照常在编辑器中复制重定向URL,并收到以下错误:

Traceback (most recent call last):
  File "C:/Users/Joel/PycharmProjects/untitled1/test.py", line 13, in <module>
    token = util.prompt_for_user_token(username, scope)
  File "C:\Users\Joel\.virtualenvs\untitled1-1cFj5f_i\lib\site-packages\spotipy\util.py", line 86, in prompt_for_user_token
    token_info = sp_oauth.get_access_token(code)
  File "C:\Users\Joel\.virtualenvs\untitled1-1cFj5f_i\lib\site-packages\spotipy\oauth2.py", line 217, in get_access_token
    raise SpotifyOauthError(response.reason)
spotipy.oauth2.SpotifyOauthError: Bad Request

有什么想法我在这里做错了吗?我很沮丧,因为它在该特定范围内可以很好地工作(并且自从我已经做完就不需要我授权),但是在其他范围内我可以做到这一点。

此外,在终端中运行代码时,它也需要我进行授权,只有在浏览器中出现以下错误:INVALID_CLIENT: Invalid redirect URI

0 个答案:

没有答案