获取播放列表曲目后无法将曲目添加到播放列表

时间:2019-08-16 17:17:42

标签: python spotify spotipy

我正在开发一个程序,该程序检查歌曲是否已在播放列表中,然后如果歌曲不在播放列表中,它将添加歌曲。

我能够从播放列表中获取所有曲目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()功能,那么就可以毫无问题地将歌曲添加到播放列表中。

1 个答案:

答案 0 :(得分:0)

我可能来晚了,但问题似乎出在执行此操作所需的授权类型上,您将需要获得一个oauth2访问令牌,其作用域为: 用户读取专用 用户阅读电子邮件 播放列表读取专用 播放列表-修改公共 播放列表-修改-私人 如此处https://developer.spotify.com/documentation/general/guides/authorization-guide/所述 并在通话中传递访问令牌以添加曲目