Spotify API授权代码流程返回400错误请求

时间:2017-05-19 08:35:12

标签: api authorization spotify

我使用了spotify token api方法和授权代码来获取令牌并刷新具有我用户权限的令牌。 (authorization flow

以下是我使用nodejs app(控制台日志)发出的请求:

    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 个答案:

答案 0 :(得分:2)

尝试将身体参数移动到查询参数:

  

授权过程从您的应用程序发送开始   请求Spotify帐户服务。 (你申请的原因   发送此请求可能会有所不同:它可能是初始化中的一个步骤   您的应用程序或响应某些用户操作,如按钮   单击。)请求被发送到帐户的/ authorize端点   服务:

     

获取https://accounts.spotify.com/authorize请求将包括   查询字符串中的参数:

     

典型的请求如下所示:

     

GET   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