Я пытался заставить мою авторизацию работать с использованием потока кода авторизации на примере из 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