无法使用Spotify Web API通过Client Credential Flow修改用户私有数据

时间:2016-02-03 11:29:36

标签: api spotify spotify-app

是否有任何方法可以通过客户端凭据流中的基于控制台的应用程序来修改Web API的播放列表? https://developer.spotify.com/web-api/authorization-guide/#client-credentials-flow

可能没有,但也许我错了?我只想修改用户的数据。

这里我在API规范中创建了问题 https://github.com/spotify/web-api/issues/165

1 个答案:

答案 0 :(得分:3)

Client Credentials oAuth 2.0 flow的一个好处是应用程序可以向Web服务发出经过身份验证的请求,而无需涉及最终用户。由于用户不参与,因此可以从应用程序发出的请求受到限制。例如,使用Spotify的API,您仍然可以请求检索曲目元数据,播放列表内容和搜索专辑。任何需要scope的端点都无法使用,因为它需要用户互动。

因此,如果您对代表用户提出请求感兴趣,或者您想要访问私人数据,那么使用客户端凭据是没有意义的,因为用户需要先授予您权限。

您需要使用隐式授权或身份验证代码流。我建议您进一步阅读Authorization Guide中支持的oAuth 2.0流程。使用授权代码流程的一个好处是,您还将检索新的刷新令牌,您可以使用该令牌无限期地检索访问令牌。但是,它要求您编写一个接受授权代码并将其交换为令牌的Web服务。隐式授权流程不会返回刷新令牌,因此在访问令牌过期之前,它只能使用一小时。