【问题标题】:Unable to add tracks to a playlist after getting playlist tracks获取播放列表曲目后无法将曲目添加到播放列表
【发布时间】:2019-12-23 00:28:15
【问题描述】:

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

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

【问题讨论】:

    标签: python spotify spotipy


    【解决方案1】:

    我可能迟到了,但看起来问题是您需要执行此操作的授权类型,您需要获得一个 oauth2 访问令牌,其范围为: 用户读取私有 用户阅读电子邮件 播放列表读取私有 播放列表修改公共 播放列表修改私有 正如这里https://developer.spotify.com/documentation/general/guides/authorization-guide/中所解释的那样 并在调用中传递访问令牌以添加曲目

    【讨论】:

      猜你喜欢
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多