Я пытаюсь получить два своих плейлиста, используя Spotipy.Я использую метод spotipy.user_playlist ().В настоящее время он работает для одного плейлиста, но всякий раз, когда я пробую второй, я получаю сообщение об ошибке.Оба Spotify URI действительны, и, как я упоминал ранее, я получаю первый плейлист совершенно нормально.Вот URI плейлиста:
spotify:user:22tu7wr2adbylfh3n7jns7oga:playlist:7G8WJOoHzdwj81qzRDwAnO
spotify:user:22tu7wr2adbylfh3n7jns7oga:playlist:4yxnkgxG3CHayD4wACjb2y
Я попытался создать второй вызов авторизации с 2 различными авторизованными приложениями, я использовал разные плейлисты от разных пользователей, я также попробовал все методы авторизации, которые я мог найти длябезрезультатно.
import spotipy
import spotipy.util as util
from spotipy.oauth2 import SpotifyClientCredentials
import spotipy.oauth2 as oauth2
cid ="****"
secret = "****"
username = "2tu7wr2adbylfh3n7jns7oga"
client_credentials_manager = SpotifyClientCredentials(client_id=cid, client_secret=secret)
scope = 'user-library-read playlist-read-private'
token = util.prompt_for_user_token(username, scope, client_id=cid, client_secret=secret, redirect_uri='http://localhost/callback')
sp = spotipy.Spotify(auth=token, client_credentials_manager=client_credentials_manager)
if token:
good = "4yxnkgxG3CHayD4wACjb2y"
bad = "7G8WJOoHzdwj81qzRDwAnO"
good_playlist = sp.user_playlist(username, playlist_id=good)
bad_playlist = sp.user_playlist(username, playlist_id=bad)
else:
print("Can't get token for", username)
Это выдает ошибку:
HTTPError Traceback (most recent call last)
~/anaconda3/lib/python3.7/site-packages/spotipy/client.py in _internal_call(self, method, url, payload, params)
118 try:
--> 119 r.raise_for_status()
120 except:
~/anaconda3/lib/python3.7/site-packages/requests/models.py in raise_for_status(self)
939 if http_error_msg:
--> 940 raise HTTPError(http_error_msg, response=self)
941
HTTPError: 400 Client Error: Bad Request for url: https://api.spotify.com/v1/users/2tu7wr2adbylfh3n7jns7oga/playlists/7G8WJOoHzdwj81qzRDwAnO
During handling of the above exception, another exception occurred:
SpotifyException Traceback (most recent call last)
<ipython-input-7-b0cbbe8e4d4f> in <module>
10 bad = "7G8WJOoHzdwj81qzRDwAnO"
11 good_playlist = sp.user_playlist(username, playlist_id=good)
---> 12 bad_playlist = sp.user_playlist(username, playlist_id=bad)
13 else:
14 print("Can't get token for", username)
~/anaconda3/lib/python3.7/site-packages/spotipy/client.py in user_playlist(self, user, playlist_id, fields)
376 return self._get("users/%s/starred" % (user), fields=fields)
377 plid = self._get_id('playlist', playlist_id)
--> 378 return self._get("users/%s/playlists/%s" % (user, plid), fields=fields)
379
380 def user_playlist_tracks(self, user, playlist_id=None, fields=None,
~/anaconda3/lib/python3.7/site-packages/spotipy/client.py in _get(self, url, args, payload, **kwargs)
144 while retries > 0:
145 try:
--> 146 return self._internal_call('GET', url, payload, kwargs)
147 except SpotifyException as e:
148 retries -= 1
~/anaconda3/lib/python3.7/site-packages/spotipy/client.py in _internal_call(self, method, url, payload, params)
122 raise SpotifyException(r.status_code,
123 -1, '%s:\n %s' % (r.url, r.json()['error']['message']),
--> 124 headers=r.headers)
125 else:
126 raise SpotifyException(r.status_code,
SpotifyException: http status: 400, code:-1 - https://api.spotify.com/v1/users/2tu7wr2adbylfh3n7jns7oga/playlists/7G8WJOoHzdwj81qzRDwAnO:
Bad request
Когда я перехожу по ссылке, он говорит:
{
"error": {
"status": 401,
"message": "No token provided"
}
}
Тем не менее, у меня естьтокен от авторизации.Я очень смущен.Если это дублирующее сообщение, пожалуйста, дайте мне знать, я не могу найти решение где-либо еще.
Редактировать: я использовал функцию python sp.user_playlist_tracks()
вместо этого, и теперь она работает для обоих списков воспроизведения.