配置全权限仍触发Spotify Web API「Insufficient client scope」错误
Spotify API 添加歌曲提示「Insufficient client scope」的排查方案
确认授权请求的实际Scope参数
别只看代码里配置了Scope,要检查跳转Spotify授权页面的URL里,scope参数是不是明确包含playlist-modify-public和playlist-modify-private,注意拼写全小写、下划线正确。另外,如果你之前已经授权过该应用,旧令牌会保留旧权限,必须让用户重新授权——在授权URL里加上show_dialog=true,强制弹出授权弹窗让用户重新确认权限。验证当前令牌的实际权限
用刷新令牌重新获取一次访问令牌,查看返回的scope字段是否包含所需权限。比如用curl测试:curl -H "Authorization: Basic <base64编码的client_id:client_secret>" -d "grant_type=refresh_token&refresh_token=<你的刷新令牌>" https://accounts.spotify.com/api/token要是返回的
scope里没有目标权限,说明之前的授权流程根本没正确申请到权限,得回头排查授权请求的参数。检查播放列表的归属与权限
确认要操作的播放列表是当前授权用户创建的,或者用户是该列表的协作编辑者。私人播放列表必须确保playlist-modify-private权限已申请,且用户拥有编辑权限——别试图操作不属于你的私人列表,哪怕Scope对了也会报错。排查代码中Scope的传递逻辑
不同Spotify SDK对Scope的传递要求不一样,比如有些需要把Scope数组用空格拼接成字符串再传递,而不是直接传数组。比如:const requiredScopes = ['playlist-modify-public', 'playlist-modify-private'].join(' ');检查你的代码里是不是按库的要求正确传递了Scope参数。
内容的提问来源于stack exchange,提问作者kris
相关产品推荐
相关产品推荐

