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

使用Spotify API添加歌曲到播放列表失败,请求排查代码问题

解决Spotify API添加歌曲到播放列表的InvalidSchema错误

你尝试用Spotify API将歌曲添加到播放列表,代码如下:

import requests
import json

user_id = "user_id"
playlist_id = "playlist_id"

url = f'"https://api.spotify.com/v1/playlists/{playlist_id}/tracks"'
headers = {
    'Authorization': 'Bearer secret_auth_token',
    'Content-Type': 'application/json',
}
payload = {
    "uris": ["spotify:track:64PgpLHuQK3UJ5qZ875Vei"], 
}


response = requests.post(url, headers=headers, data=json.dumps(payload))

print(response.text)

运行后出现错误:

requests.exceptions.InvalidSchema: No connection adapters were found for '"https://api.spotify.com/v1/playlists/2oNkSJU1mGfTAg3ii9nLwc/tracks"'

你已确认认证token具备必要权限(比如能创建播放列表),但不清楚为何无法添加歌曲。


问题原因

错误的核心是URL字符串被额外的双引号包裹。你在格式化URL时加了外层的",导致requests库无法识别正确的HTTP协议地址——它把带引号的整个字符串当成了URL,而不是https://开头的合法地址。

修复后的代码

把URL里的多余引号去掉,同时可以用requests自带的json参数简化代码(不用手动调用json.dumps):

import requests

user_id = "user_id"
playlist_id = "playlist_id"

# 去掉URL外层的双引号
url = f"https://api.spotify.com/v1/playlists/{playlist_id}/tracks"
headers = {
    'Authorization': 'Bearer secret_auth_token',
    'Content-Type': 'application/json',
}
payload = {
    "uris": ["spotify:track:64PgpLHuQK3UJ5qZ875Vei"], 
}

# 用json参数直接传入payload,requests会自动处理序列化
response = requests.post(url, headers=headers, json=payload)

print(response.text)

额外说明

  1. 去掉URL的双引号后,requests才能正确识别https协议,建立正常连接。
  2. 使用json=payload代替data=json.dumps(payload)更简洁,也能避免手动序列化可能出现的格式问题。
  3. 确保你的token确实包含playlist-modify-public或playlist-modify-private权限(根据播放列表的公开/私有属性)——虽然你说能创建播放列表,但添加歌曲需要这两个权限之一。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 07:38:11