Node.js-来自第三方服务器的Axios REST API错误请求400

时间:2019-03-05 21:56:10

标签: javascript node.js axios uber-api

这是先前question的后续内容。

我有一个带有Express的简单Node.js与我的Vue项目通信(无关),并使用Axios调用了第三方REST API(这次是Uber)。 Vue和Nodejs都在本地主机上(分别为端口 8080 8081 )。

  1. 我能够检索授权代码以获取令牌。
  2. 可悲的是,我无法从Axios(在Postman上工作)获取上述令牌。

我收到一条 400错误的请求错误,并显示一条invalid_request消息,没有更清晰的方法来弄清什么是无效的。

这就是我所拥有的:

来自Node.js

const router = express.Router();
router.route('/token')
    .post((req, res) => {
        let queryCode = req.body.queryCode;
        axios.post('/oauth/v2/token', {
            client_secret: process.env.UBER_CLIENT_SECRET,
            client_id: process.env.UBER_CLIENT_ID,
            grant_type: 'authorization_code',
            redirect_uri: <redirect_url_here>,
            code: queryCode
        },{
            baseURL: 'https://login.uber.com',
            headers: {
                'Content-Type': 'application/json'
            }
        }).then((response) => {
            return res.json(response).sendStatus(201);
        }).catch((error) => {
            return res.send({
                data: error.response.data.error,
                statusText: error.response.statusText,
                status: error.response.status
            });
        });
    });

回复

{
    "data": "invalid_request",
    "statusText": "Bad Request",
    "status": 400
}

0 个答案:

没有答案