【问题标题】:Can't modify user private data with Client Credential Flow by Spotify Web API无法使用 Spotify Web API 的客户端凭据流修改用户私人数据
【发布时间】:2016-05-12 13:51:04
【问题描述】:

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

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

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

【问题讨论】:

    标签: api spotify spotify-app


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢,我现在明白这只是因为 oAuth 2.0 标准的原则。这实际上是有道理的。我只是想知道为什么我不能在没有应用程序的情况下对给定的用户数据进行读写访问,以及为什么该应用程序需要通过重定向 uri 回调接收授权数据。客户端凭据流是 oAuth 2.0 标准的一部分吗?第一眼我看不到。所以看来我需要一次获得给定用户的授权码,然后我可以拥有:-永久访问权限? (我有授权流程吗?) - 短时间? (有隐式授权?)
    • 我已经更新了我的回复,其中包含指向客户端凭据规范的链接,该规范是官方 oAuth 2.0 标准的一部分。我还添加了一些关于其他两个流程的信息。如果您对此有更多疑问,请创建一个新问题,而不是在评论部分跟进。当然,如果这个答案不清楚,那么我会尝试修改它。
    • 非常好,我认为它满足了我的问题。我会沿着这条路走得更远。谢谢。
    猜你喜欢
    • 2014-11-20
    • 2021-01-10
    • 2015-08-28
    • 2018-12-14
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    相关资源
    最近更新 更多