我正尝试将POST请求发送到Spotify以获取令牌,我可以使用命令“ curl”成功检索令牌,但是我认为编写代码时出错了
我正在运行Node.js服务器。
const express = require('express');
const request = require('request');
const app = express();
const port = 3000;
app.get('/',(req,res) => {
let options = {
url: 'https://accounts.spotify.com/api/token',
jason: true,
form: {
client_id:'17...97',
client_secret:'24...29',
grant_type:'authorization_code',
code:'AQA...et8',
redirect_uri:'https%3A%2F%2Fexample.com%2Fcallback'
}
}
request.post(options, (req, response,error) =>{
if (error){
console.log(error);
}
res.send(response);
})
})
app.listen(port, () => {
console.log("Example app listening port 3000");
})
前面的代码始终返回错误无效的重定向URI,但是当我在命令行中使用下面的代码时,我成功地检索了令牌或收到了error:expired code,这不是问题,因为我重复使用了代码。
curl -d client_id=17...97 -d client_secret=24...29 -d grant_type=authorization_code -d code=AQA...et8 -d redirect_uri=https%3A%2F%2Fexample.com%2Fcallback https://accounts.spotify.com/api/token
这两个客户端具有相同的客户端,代码和redirect_uri,因此我不确定为什么会有两个不同的结果。