我正在编写一个程序来检查一首歌是否已经在播放列表中,如果它不在播放列表中,它将添加这首歌。
我能够从播放列表中获得所有的曲目I,但是我无法在播放列表中添加一首新歌。
这是我用来获取播放列表轨道ID的代码,它没有任何问题:
def get_playlist_tracks(username_gpt, playlist_id_gpt, sp_gpt):
track_ids = []
try:
results_gpt = sp_gpt.user_playlist_tracks(username_gpt, playlist_id_gpt)
tracks = results_gpt['items']
while results_gpt['next']:
results_gpt = sp_gpt.next(results_gpt)
tracks.extend(results_gpt['items'])
for x in range(len(tracks)):
track_ids.append(tracks[x]['track']['id'])
except Exception as e_gpt:
print(e_gpt)
return track_ids
这是一段代码,如果播放列表中还没有播放ID,则应该向播放列表中添加一个新的轨道:
if not TrackInPlaylist:
try:
sp.user_playlist_add_tracks(username, playlist_id, track_id)
track_IDs.append(track_id[0])
print("Track Added to Playlist!")
except Exception as e:
print(e)
print("failed add")
当我试图添加一个轨道时,我遇到的错误是:
"error": {
"status": 401,
"message": "No token provided"
}
如果我不使用get_playlist_tracks()
函数,那么我就可以将歌曲添加到播放列表中,而不会出现任何问题。
发布于 2019-08-30 15:35:09
我可能迟到了,但问题似乎是执行此操作所需的授权类型,您需要获得一个oauth2访问令牌,其作用域为:用户读取-私有用户-读-电子邮件播放列表-读-私有播放列表-修改-公共播放列表-修改-私有,如在这里https://developer.spotify.com/documentation/general/guides/authorization-guide/中解释的那样,并在调用中传递访问令牌以添加跟踪。
https://stackoverflow.com/questions/57528723
复制相似问题