使用SpotifyAPI.Web(C#)获取当前播放曲目时遇无效用户名错误
问题分析与修复方案
错误本质
你碰到的"Invalid username"是API返回的误导性错误,实际问题出在访问令牌的权限或有效性上,和用户名没有关系。
具体修复步骤
补全必要的令牌权限
获取当前播放曲目,必须给访问令牌加上这两个权限:user-read-currently-playinguser-read-playback-state
重新生成令牌时,一定要在授权请求里包含这两个权限范围,不然拿不到用户的播放数据。
用正确的方式获取令牌
别用客户端凭证流生成的令牌,这种令牌没有用户上下文,根本访问不了用户的播放信息。必须用授权码流(后端常用)或者隐式授权流(前端用)来拿用户级别的访问令牌。另外检查下令牌有没有拼写错误(你代码里写的"acces token"少了个s,要是实际代码也这样,赶紧改),还有令牌是不是过期了——Spotify的访问令牌一般1小时就失效,过期了得刷新。修正代码示例
确保用有效的用户访问令牌初始化客户端:// 替换成你的有效用户访问令牌 var spotify = new SpotifyClient("valid_user_access_token"); var currentTrack = await spotify.Player.GetCurrentlyPlaying(new PlayerCurrentlyPlayingRequest { Market = "from_token" });
验证方法
可以用Spotify官方的API测试功能先验证令牌的权限和有效性,确认能正常返回当前播放数据后,再放到代码里用。
内容的提问来源于stack exchange,提问作者hd 131 399 ab Der echte
相关产品推荐
相关产品推荐

