Spotify API отвечает «Недопустимым именем пользователя» при попытке получить воспроизводимую в данный момент песню

#python #spotify

#python #spotify

Вопрос:

Я пытаюсь получить воспроизводимую в данный момент песню с помощью Spotify API. Я прочитал документацию, и, похоже, сначала вам нужно авторизоваться. Как вы можете видеть, я открываю страницу авторизации в браузере, и как только я успешно авторизуюсь, я отправляю POST-запрос на конечную точку, чтобы получить токен доступа, который я позже передаю другой конечной точке с помощью запроса GET. Тем не менее, я получаю Invalid username взамен. Что я сделал не так?

 import requests
import webbrowser
import urllib

SPOTIFY_CLIENT_ID = 'spam'
SPOTIFY_CLIENT_SECRET = 'eggs'

def get_currently_played_song():
    webbrowser.open(
        'https://accounts.spotify.com/authorize?'   
        urllib.parse.urlencode(
            {
                'client_id': SPOTIFY_CLIENT_ID,
                'response_type': 'code',
                'scope': 'user-read-currently-playing',
                'redirect_uri': 'https://www.spotify.com/us/'
            }
        )
    )

    response = requests.post(
        'https://accounts.spotify.com/api/token',
        data={
            'grant_type': 'client_credentials',
        },
        auth=(SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET)
    )
    access_token = response.json()['access_token']
    current_song = requests.get(
        'https://api.spotify.com/v1/me/player/currently-playing',
        headers={
            'Authorization': f'Bearer {access_token}',
        }
    )
    print(current_song.json())

if __name__ == '__main__':
    get_currently_played_song()
  

…печатает:

 {'error': {'status': 404, 'message': 'Invalid username'}}