Spotify API 授权代码流向我返回 400 错误请求
Posted
技术标签:
【中文标题】Spotify API 授权代码流向我返回 400 错误请求【英文标题】:Spotify API authorization code flow return me 400 bad request 【发布时间】:2017-10-19 07:06:15 【问题描述】:我使用带有授权码的 spotify 令牌 API 方法来获取令牌并刷新具有我用户权限的令牌。 (authorization flow)
这是我使用 nodejs 应用程序发出的请求(控制台日志):
Request
2017-05-18T23:16:45.861879+00:00 app[web.1]: host: 'accounts.spotify.com',
2017-05-18T23:16:45.861879+00:00 app[web.1]: port: 443,
2017-05-18T23:16:45.861879+00:00 app[web.1]: scheme: 'https',
2017-05-18T23:16:45.861880+00:00 app[web.1]: queryParameters: undefined,
2017-05-18T23:16:45.861880+00:00 app[web.1]: bodyParameters:
2017-05-18T23:16:45.861881+00:00 app[web.1]: grant_type: 'authorization_code',
2017-05-18T23:16:45.861881+00:00 app[web.1]: redirect_uri: 'https://octave-spotify.herokuapp.com/callback',
2017-05-18T23:16:45.861884+00:00 app[web.1]: code: 'AQASbjsig7owAPhq_ICQSAv1d6iOb0NdB1dqI0M8EQPyjNyv3Dyq4wY8QndzD_Iyykzm9f4lO5xNklltmKBlnKFko3kYeuBm_w1EBlX9_tcMpK6Pg4g-mcAbTdHrArbYJfDCV5LFt-bI5JbPXbxAnfcaHSoto2lk2p6YdQC3EC5Y5FIFBXdCkE4WeZmsPWoDLhQxIMqb8FLrao4-spPq4esE-Btqg73adXyWqU3eO-7MF3291wExc0nFeVK_vefPfH4SbXvFyxmKoHKSOM5etChalj3WMsger9FA6TrPNt5CsAMHNiczW692mfquFapjh516tIgCHzgxPbocN_1xeg6dqvNvUtZ6jjoMW4TQ1j9gAf-B3LXLjCApgSSjqjj53RppFMbF6edv74Ds' ,
2017-05-18T23:16:45.861885+00:00 app[web.1]: headers: Authorization: 'Basic MDE1N2MxYjkwNWU5NDk2YTgzZjViOTM2M2IxNzU5ZmI6ZmJkNGNmYWZlMzNjNDczNGFjMzRjNGYyNTQyMDI2NmI=' ,
2017-05-18T23:16:45.861886+00:00 app[web.1]: path: '/api/token'
2017-05-18T23:16:45.934575+00:00 app[web.1]: Something went wrong authorizationCodeGrant! [WebapiError: Bad Request] name: 'WebapiError', message: 'Bad Request', statusCode: 400
预期的返回是一个令牌和刷新令牌,但我收到一个 api 错误 400 错误请求。 我检查了我的 client_id、secret_id 和 redirect_uri,它们看起来都很好。
你知道是什么问题吗? 感谢您的帮助。
【问题讨论】:
【参考方案1】:尝试将你的身体参数移动到查询参数:
授权过程从您的应用程序发送一个 请求 Spotify 帐户服务。 (您申请的原因 发送这个请求可能会有所不同:它可能是初始化的一个步骤 您的应用程序或响应某些用户操作,例如按钮 click.) 请求被发送到 Accounts 的 /authorize 端点 服务:
GET https://accounts.spotify.com/authorize 请求将包括 查询字符串中的参数:
一个典型的请求如下所示:
获取 https://accounts.spotify.com/authorize/?client_id=5fe01282e44241328a84e7c5cc169165&response_type=code&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&scope=user-read-private%20user-read-email&state=34fFs29kd09
【讨论】:
我已经做了这个请求。我用范围授权,我得到一个授权码。我将它与我的问题中的查询一起使用以获取具有良好凭据的令牌。我把body参数改成查询参数,不行。 我终于找到了问题,我的授权码不好,因为使用它的错误。我很糟糕;)谢谢你。 @valentinflausse 你是如何解决错误授权码问题的以上是关于Spotify API 授权代码流向我返回 400 错误请求的主要内容,如果未能解决你的问题,请参考以下文章
Python - Spotify API 返回错误 400“格式错误的 JSON”
spotify-web-api-node:authorizationCodeGrant()给出400 - 错误请求
spotify-web-api-node:authorizationCodeGrant() 给出 400 - 错误请求