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

Spotify Web API 技术求助:如何正确调用接口播放播放列表

解决Spotify API播放播放列表时的400错误问题

哦,这个问题我之前踩过坑!你遇到的Unsupported uri kind: playlist_v2错误,核心原因是用错了请求参数字段:

Spotify的/me/player/play接口里,uris字段是专门用来传入单首或多首曲目的URI的,而播放列表、专辑这类属于「播放上下文」,需要用context_uri字段来指定,绝对不能把播放列表的URI塞到uris数组里。

修正后的代码

只需要把你请求体里的uris字段换成context_uri就行,修改后的play函数如下:

const play = ({ context_uri, playerInstance: { _options: { getOAuthToken, id }, }, }) => {
  getOAuthToken((access_token) => {
    fetch(
      `https://api.spotify.com/v1/me/player/play?device_id=${device_id}`,
      {
        method: "PUT",
        // 关键修改:用context_uri代替uris字段
        body: JSON.stringify({ 
          context_uri,
          position_ms: 0 // 可选:设置从播放列表开头开始播放
        }),
        headers: {
          "Content-Type": "application/json",
          Authorization: `Bearer ${access_token}`,
        },
      }
    );
  });
};

额外实用技巧

如果你想从播放列表的某首特定曲目开始播放,可以添加offset参数:

body: JSON.stringify({ 
  context_uri: "spotify:playlist:37i9dQZF1EIZKYrELNKNNT",
  offset: { "uri": "spotify:track:72boGlgSwUK01n44O2tOCv" }, // 指定从这首曲目启动
  position_ms: 0
})

权限检查提醒

别忘了确认你的OAuth Token已经申请了以下必要权限:

  • streaming:允许使用Web Playback SDK播放音乐
  • user-modify-playback-state:允许修改播放状态(比如启动播放)
  • user-read-playback-state:允许读取播放状态信息

缺少这些权限的话,就算参数正确也会请求失败哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 19:32:29