我正在开发一个程序,该程序检查歌曲是否已在播放列表中,然后如果歌曲不在播放列表中,它将添加歌曲。
我能够从播放列表中获取所有曲目ID,但随后无法向播放列表中添加新歌曲。
这是我用来获取播放列表曲目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()
功能,那么就可以毫无问题地将歌曲添加到播放列表中。
答案 0 :(得分:0)
我可能来晚了,但问题似乎出在执行此操作所需的授权类型上,您将需要获得一个oauth2访问令牌,其作用域为: 用户读取专用 用户阅读电子邮件 播放列表读取专用 播放列表-修改公共 播放列表-修改-私人 如此处https://developer.spotify.com/documentation/general/guides/authorization-guide/所述 并在通话中传递访问令牌以添加曲目