Spotipy не меняет пользователей
Итак, я делаю приложение для статистики Spotify, которое просто показывает некоторые статистические данные об аккаунте пользователя Spotify, используя Django и модуль Spotipy python. Я сделал имя пользователя обязательным полем и назвал его Spotify Username, так что пользователь вводит свое имя пользователя Spotify и оно сохраняется в таблице users как first_name (я понимаю недостатки такого подхода, я просто пытаюсь все запустить). Моя проблема в том, что сколько бы раз я не выходил из системы и не переключал пользователей, ответы от Spotify api не меняются. Возьмем, к примеру, эту функцию:
@login_required
def recents(request):
token = spotipy.util.prompt_for_user_token(
username=request.user.first_name, scope=SCOPE, client_id=CLIENT_ID, client_secret=CLIENT_SECRET, redirect_uri=REDIRECT_URI)
session = spotipy.Spotify(auth=token)
recents = session.current_user_recently_played(limit=8)
recents = recents["items"]
return render(request, 'stats/recents.html', {
"recents": recents
})
Я указываю username=request.user.first_name
, но на странице recents для каждого пользователя отображаются последние песни на моей собственной учетной записи Spotify. У меня есть предположение, что это происходит потому, что мой REDIRECT_URI
- http://localhost:8080/
, поэтому он автоматически входит в мой собственный аккаунт, однако я не уверен.
Вы должны добавить show_dialog=True
внутри prompt_for_user_token()
, как показано здесь.