4

我正在尝试接收refresh_token我的 Ionic 应用程序,我成功接收了access_token.

我从我的 TypeScript 项目中的端点接收codeauthorization_code或) ,我将它传递给测试如何获取但我收到它的唯一错误。access_tokenhttps://accounts.spotify.com/authorize?client_id=cURLrefresh_token

curl -H "Content-Type: application/x-www-form-urlencoded" -H "Authorization: Basic MzBhNT...ZWIyZWQ=" -d grant_type=authorization_code -d code=BQAjgZOFne3p8PB4ARJkrXtq...kI4xJvhQ7SutZoJqVWILCY -d redirect_uri=http%3A%2F%2Flocalhost%3A8100%2Fmain -X POST https://accounts.spotify.com/api/token

预期输出:

{
   "access_token": "NgCXRK...MzYjw",
   "token_type": "Bearer",
   "scope": ...,
   "expires_in": 3600,
   "refresh_token": "NgAagA...Um_SHo"
}

但收到错误:

{"error":"invalid_grant","error_description":"Invalid authorization code"}
4

1 回答 1

6

因此,经过两天的尝试,我发现了这个问题,在检查了文档后,我发现了我错了。问题是当您想要刷新令牌时,您需要将 POST 请求的主体发送到 /api/token 端点代码而不是 access_token。就我而言,我正在发送 access_token。要接收代码,您应该向https://accounts.spotify.com/authorize端点发送相同的请求,但带有参数response_type=code

于 2019-08-23T11:30:35.680 回答