You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Spotipy添加曲目到播放列表时遇Invalid base62 id错误求助

解决Spotipy的Invalid base62 id或URI错误

核心问题

spotipy.Spotify.playlist_add_items()方法的第二个参数必须传入曲目ID/URI的列表,哪怕只添加一首曲目,也不能直接传单个字符串。你的所有错误都是因为第二个参数传了单个值,而非列表。

错误场景拆解

  • 直接传单个ID:sp.playlist_add_items('7AatTbqsTPhQ4bTRDqXaQH', '6nz35DNIzbtj5ztpDEcW1j')
    单个字符串会被Spotipy当作可迭代对象遍历每个字符,每个字符被解析成无效的ID片段,触发Invalid base62 id错误。
  • 传单个URI:sp.playlist_add_items('spotify:playlist:7AatTbqsTPhQ4bTRDqXaQH', 'spotify:track:6nz35DNIzbtj5ztpDEcW1j')
    同样因为不是列表,Spotipy无法正确解析,返回URI格式错误。
  • 取列表单个元素:sp.playlist_add_items('7AatTbqsTPhQ4bTRDqXaQH', tracks[0])
    tracks[0]是单个字符串,本质和第一种情况一致,仍会触发错误。

修正后的代码

格式1:传入纯ID列表

import requests
import os
import spotipy
from spotipy.oauth2 import SpotifyOAuth

os.environ['SPOTIPY_CLIENT_ID'] = '$MY_CLIENT_ID'
os.environ['SPOTIPY_CLIENT_SECRET'] = '$MY_CLIENT_SECRET'
os.environ['SPOTIPY_REDIRECT_URI'] = 'http://localhost'

scope = "playlist-modify-public playlist-modify-private user-library-modify"
sp = spotipy.Spotify(auth_manager=SpotifyOAuth(scope=scope))
# 第二个参数改为列表
sp.playlist_add_items('7AatTbqsTPhQ4bTRDqXaQH', ['6nz35DNIzbtj5ztpDEcW1j'])

格式2:传入带前缀的URI列表

# 播放列表和曲目都用完整URI,第二个参数仍为列表
sp.playlist_add_items('spotify:playlist:7AatTbqsTPhQ4bTRDqXaQH', ['spotify:track:6nz35DNIzbtj5ztpDEcW1j'])

批量添加示例

如果要添加多首曲目,直接扩展列表即可:

track_ids = ['6nz35DNIzbtj5ztpDEcW1j', '其他曲目ID']
sp.playlist_add_items('7AatTbqsTPhQ4bTRDqXaQH', track_ids)

内容的提问来源于stack exchange,提问作者Marc J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 17:43:15