如何发送POST请求以进行Spotify授权

时间:2019-01-17 22:20:58

标签: node.js spotify

我正尝试将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,因此我不确定为什么会有两个不同的结果。

0 个答案:

没有答案