使用Spotify API创建播放列表时持续出现401错误求助
Spotify API 创建播放列表 401 错误解决方案
核心问题:Axios 请求格式错误
你的 makePlaylist 函数中,Axios POST 请求的参数结构不正确,导致 Authorization 头未被正确携带,这是触发 401 错误的主要原因。
Axios 的 post 方法参数规则为:axios.post(url, data, config)
- 第二个参数是请求体数据
- 请求头(headers)需放在第三个参数的配置对象中,而非与请求体同级
修正后的 makePlaylist 函数
async function makePlaylist(){ console.log(props.token) console.log("make Play") setPlaylistName("") const myId= await getMe() console.log(myId) const urlPlay=`https://api.spotify.com/v1/users/${myId}/playlists` props.changePlaylist([]) await axios.post(urlPlay, { name: "New Playliddddst", description: "New playlist description", public: false }, { headers: { Authorization: `Bearer ${props.token}`, 'Content-Type': 'application/json' } } ) }
额外检查项
- 确认授权 Scope 生效:调用
https://api.spotify.com/v1/me接口,查看返回数据的scopes字段,确认包含playlist-modify-private和playlist-modify-public。若缺失,需重新登录授权,确保登录链接中的scope参数正确传递。 - 验证用户 ID 正确性:确认
getMe()返回的用户 ID 是 Spotify 有效用户 ID(字符串格式,无多余字符),避免拼接urlPlay时出现错误。 - 检查 Token 有效性:即使 Token 可用于其他接口,仍需确认其未过期,可重新登录获取新 Token 后重试。
- 开发者控制台配置检查:确保 Spotify 开发者控制台中,你的应用已添加与代码中
REDIRECT_URI完全一致的重定向地址。
内容的提问来源于stack exchange,提问作者Ayush Rana
相关产品推荐
相关产品推荐

