Spotify API 响应禁止我在当前播放曲目请求中的定位
Posted
技术标签:
【中文标题】Spotify API 响应禁止我在当前播放曲目请求中的定位【英文标题】:Spotify API responds with forbidden to my seek to position in currently playing track request 【发布时间】:2020-01-22 18:04:42 【问题描述】:对于我想到的一个小项目,我想更好地熟悉 Spotify API。一切都很顺利,直到我想尝试只需要 user-modify-playback-state 范围的 seek to position in currently playing track 请求,当我发送请求时服务器以 403 FORBIDDEN强>。
[WebapiError: Forbidden] name: 'WebapiError', message: 'Forbidden', statusCode: 403
值得一提的是,我正在使用 spotify-web-api-node 模块与 API 进行通信,但我尝试从 Postman 发送相同的请求并出现相同的问题。
我用这个功能来切换用户:
const switchToUser = (username, callback) =>
User.findOne( username: username )
.then(user =>
if (user !== null)
SpotifyApi.setRefreshToken(user.refreshToken);
SpotifyApi.refreshAccessToken()
.then(data =>
SpotifyApi.setAccessToken(data.body["access_token"]);
callback(); // Callback
)
.catch(err => console.log(err));
else
console.log("There's no user with that username in the database.");
)
.catch(err => console.log(err));
;
我的电话:
switchToUser("stelrin", () =>
SpotifyApi.seek(1569091982344).then(
() => console.log("done"),
err => console.log(err)
);
);
授权链接:
https://accounts.spotify.com/authorize?client_id=myClientId&response_type=code&redirect_uri=myRedirectUri&scope=user-modify-playback-state%20user-read-playback-state&state=stelrin
搜索功能: Image
我尝试在spotify-web-api-node docs 中查找搜索功能,但没有找到。
感谢您的宝贵时间。
【问题讨论】:
【参考方案1】:尝试播放时可能会出现 403,但消息会显示 PREMIUM_REQUIRED,另一种可能是 Seek 的参数不正确,只有 position_ms 和 device_id 支持,后者是选项,您可以尝试检查发送到 Spotify 的内容以检查对https://api.spotify.com/v1/me/player/seek 的请求是否正确
【讨论】:
以上是关于Spotify API 响应禁止我在当前播放曲目请求中的定位的主要内容,如果未能解决你的问题,请参考以下文章