#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'}}