Я пытаюсь сделать программу, которая будет удалять песни из плейлистов Spotify. В настоящее время я не могу обновить токены аутентификации, несмотря на то, что они были сохранены на моем жестком диске и указали пути к кешу при создании объектов oauth.
from bottle import route, run, request
import spotipy
from spotipy import oauth2
import time
PORT_NUMBER = 8080
SPOTIPY_CLIENT_ID = 'e1bb48ed8b594aeb9faf74f7e8915de7'
SPOTIPY_CLIENT_SECRET = 'dd6de8b7a0324d6ebf1fc0591e8e3220'
SPOTIPY_REDIRECT_URI = 'http://localhost:8080'
SCOPE = 'playlist-modify-public'
tracks = ['6DCZcSspjsKoFjzjrWoCdn']
def remove(sp_oauth):
access_token = ""
token_info = sp_oauth.get_cached_token()
if token_info:
if sp_oauth.is_token_expired:
token_info = sp_oauth.refresh_access_token(token_info['refresh_token'])
access_token = token_info['access_token']
else:
print ("Found cached token!")
access_token = token_info['access_token']
if access_token:
print ("Access token available! Trying to get user information...")
sp = spotipy.Spotify(access_token)
results = sp.current_user_playlists()
userinfo = sp.current_user()
userid = userinfo['id']
for items in results['items']:
if userid == items['owner']['id']:
sp.user_playlist_remove_all_occurrences_of_tracks(items['owner']['id'],items['id'],tracks)
print("removed from " + items['owner']['display_name'] + " s list " + items['name'])
example =oauth2.SpotifyOAuth( SPOTIPY_CLIENT_ID, SPOTIPY_CLIENT_SECRET,SPOTIPY_REDIRECT_URI,scope=SCOPE,cache_path=r'C:\Users\rrako\AppData\Local\Programs\Python\Python38-32\Caches\example')
remove(example)
Я получаю ошибку
Traceback (most recent call last):
File "C:\Users\rrako\AppData\Local\Programs\Python\Python38-32\unfollowLists.py", line 212, in <module>
remove(blake)
File "C:\Users\rrako\AppData\Local\Programs\Python\Python38-32\unfollowLists.py", line 63, in remove
if sp_oauth.is_token_expired:
AttributeError: 'SpotifyOAuth' object has no attribute 'is_token_expired'
Версия спотипы у меня 2.4.4