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

Python调用Spotify Web API的PUT方法控制设备播放报400错误如何解决

错误原因

  • 参数名错误:指定播放设备的查询参数要求键为device_id,你的代码中错误写为id,接口无法识别目标设备。
  • 请求体格式不匹配:你已经在请求头中声明内容格式为application/json,但使用data参数传递字典时,requests会默认将内容编码为表单格式,与声明格式不一致,后端无法解析请求内容。

修正后代码

import requests

url = "https://api.spotify.com/v1/me/player/play"
# 修正参数名为device_id
payload = {"device_id": "f103fb953eadfb10ed89f8df3fee40be26e354ac"}
headers = {
  'Authorization': 'Bearer %s' % access_token # 粘贴你的访问令牌即可
}
dat = {
  "context_uri": "spotify:album:5ht7ItJgpBH7W6vJ5BqpPr",
  "offset": {
    "position": 5
  },
  "position_ms": 0
}

# 使用json参数传递字典,requests会自动序列化为json格式,和接口要求匹配
response = requests.request("PUT", url, headers=headers, params=payload, json=dat)

print(response.status_code)

补充排查点

如果修改后仍然报错,可优先检查两点:

  • 你的访问令牌是否已经申请user-modify-playback-state权限,这是调用播放控制接口的必填权限。
  • 传入的device_id是否为当前登录账号下可用的活跃设备ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:15:00