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

使用Spotipy调用start_playback报400错误:Non supported context uri

解决Spotipy调用start_playback返回“Non supported context uri”错误

问题原因

你调用sp.start_playback时参数传递错误:start_playback的第二个位置参数是context_uri(用于专辑、播放列表这类上下文资源),而你传入的是单个歌曲的URI,API会把它识别为无效的上下文URI,因此返回400错误。

修复代码

修改sp.start_playback的调用方式,通过uris关键字参数传入歌曲URI(需要用列表包裹):

def searchSong(said):
    devices = sp.devices()
    for device in devices['devices']:
        if device['is_active']:
            results = sp.search(q=said, type="track", limit=1, offset=0)
            
            track_id = results["tracks"]["items"][0]["uri"]

            print(track_id)
            # 用uris关键字参数传递单曲URI,device_id也显式指定关键字
            sp.start_playback(device_id=device['id'], uris=[track_id])

额外验证点

  • 确认你的Spotipy授权scope包含user-modify-playback-state,没有这个权限无法控制播放。
  • 确保活跃设备确实处于可播放状态(比如Spotify客户端已打开且未暂停在私人会话)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 00:16:00