#python #spotify #spotipy
#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:UsersJoel.virtualenvsuntitled1-1cFj5f_ilibsite-packagesspotipyutil.py", line 86, in prompt_for_user_token
token_info = sp_oauth.get_access_token(code)
File "C:UsersJoel.virtualenvsuntitled1-1cFj5f_ilibsite-packagesspotipyoauth2.py", line 217, in get_access_token
raise SpotifyOauthError(response.reason)
spotipy.oauth2.SpotifyOauthError: Bad Request
Есть идеи, что я здесь делаю не так? Я в тупике, поскольку он отлично работает с этой одной конкретной областью (и не требует от меня авторизации, поскольку я уже это сделал), но с другими я получаю это.
Кроме того, при запуске кода в моем терминале мне также требуется авторизоваться, только я получаю следующую ошибку в браузере: INVALID_CLIENT: Invalid redirect URI
Комментарии:
1. Ваш код работает для меня — я бы попробовал еще раз, если API учетных записей Spotify не работает, и дважды проверьте, правильно ли настроен URI перенаправления.