Хочу получить топ исполнителей через Spotify API, но при запросе ошибка 403. Делал всё как в документации
https://developer.spotify.com/console/get-current-...
По ссылке выше можно получить OAuth Token, и если делать запрос через него то всё получается, я не понимаю нужно ли делать запрос по новому токину или мой подойдёт ?
Access Token обновлен и если сделать запрос на несколько треков, то всё работает.
client_data = f'{client_id}:{client_secret}'
client_data_bytes = client_data.encode('ascii')
base64_bytes_client_data = base64.b64encode(client_data_bytes)
base64_client_data = base64_bytes_client_data.decode('ascii')
class RefreshToken:
def __init__(self):
self.refresh_token = refresh_token
self.client_data = base64_client_data
def refresh(self):
query = 'https://accounts.spotify.com/api/token'
response = requests.post(query, data={'grant_type': 'refresh_token', 'refresh_token': refresh_token},
headers={'Authorization': 'Basic ' + self.client_data})
response_object = response.json()
return response_object['access_token']
obj = RefreshToken()
refreshed_token = obj.refresh()
def get_top_items(refreshed_token):
type_item = 'artists'
top_items_endpoint = f'https://api.spotify.com/v1/me/top/{type_item}?'
get_params = {
'time_range=': 'medium_term',
'limit=': '10',
'offset=': '5',
}
get_header = {
'Accept': 'application/json',
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + refreshed_token
}
res = requests.get(top_items_endpoint, params=get_params, headers=get_header)
# top_objects = res.json()
print(res)