Начало работы с Spotipy

#python #spotipy

#python #spotipy

Вопрос:

Я совершенно новичок в spotipy, и мне интересно, с чего начать. Я прочитал «Начало работы» на https://spotipy.readthedocs.io/en/2.16.1 /, и у меня есть этот код:

 import spotipy
from spotipy.oauth2 import SpotifyOAuth

scope = "user-library-read"

sp = spotipy.Spotify(auth_manager=SpotifyOAuth(scope=scope))

results = sp.current_user_saved_tracks()
for idx, item in enumerate(results['items']):
    track = item['track']
    print(idx, track['artists'][0]['name'], " – ", track['name'])
 

Я получил разрешение, но теперь мне интересно, как использовать различные функции, такие как:

 add_to_queue(uri, device_id=None)

current_playback(market=None, additional_types=None)
 

Я попытался добавить первый в свой код следующим образом:

 add_to_queue('spotify:track:4h8vFK3v16aTsKnG1j6VCj', device_id=None)
 

Но я получил эту ошибку:

 Traceback (most recent call last):
  File "c:/Users/andre/topp52/spotify bot.py", line 8, in <module>
    results = sp.current_user_saved_tracks()
  File "C:UsersandreAppDataLocalProgramsPythonPython38-32libsite-packagesspotipyclient.py", line 1180, in current_user_saved_tracks
    return self._get("me/tracks", limit=limit, offset=offset)
  File "C:UsersandreAppDataLocalProgramsPythonPython38-32libsite-packagesspotipyclient.py", line 291, in _get
    return self._internal_call("GET", url, payload, kwargs)
  File "C:UsersandreAppDataLocalProgramsPythonPython38-32libsite-packagesspotipyclient.py", line 221, in _internal_call
    headers = self._auth_headers()
  File "C:UsersandreAppDataLocalProgramsPythonPython38-32libsite-packagesspotipyclient.py", line 212, in _auth_headers
    token = self.auth_manager.get_access_token(as_dict=False)
  File "C:UsersandreAppDataLocalProgramsPythonPython38-32libsite-packagesspotipyoauth2.py", line 504, in get_access_token
    raise SpotifyOauthError(
spotipy.oauth2.SpotifyOauthError: error: invalid_request, error_description: code must be supplied
 

Я предполагаю, что мне нужно использовать некоторый код в дополнение к самой функции.
Любая помощь приветствуется!

РЕДАКТИРОВАТЬ: Хорошо, итак, я исправил ошибку, вставив URL-адрес перенаправления в терминал, и я обнаружил, что мне следует использовать:

 spotipy.client.Spotify.add_to_queue(self, uri, device_id=None)
 

Теперь мой вопрос: Что мне указать в параметре ‘self’? Возможно, глупый вопрос, но я не уверен. Если я только добавлю URI песни, я получу это:

 TypeError: add_to_queue() missing 1 required positional argument: 'uri'
 

Комментарии:

1. Разве это не должно быть sp.add_to_queue(self, uri, device_id=None) вместо spotipy.client.Spotify.add_to_queue .

2. Спасибо, это исправлено: D