我是NodeJs的新手,我想使用作业API,但我需要首先获得access_token(客户端凭据),所以我尝试POST
我的CLIENT_ID
& CLIENT_SECRET
来获得它,但我认为我在代码中犯了一些错误:
根据doc,我试图重现属性的顺序,所以我尝试了以下操作:
const express = require("express");
const axios = require("axios");
const app = express();
app.get ("/test", async (req, res) => {
const data = await genrateAccessToken();
console.log(data);
res.json(data);
});
async function genrateAccessToken() {
axios.post('https://authentification-candidat.pole-emploi.fr/connexion/oauth2/access_token'{
header : {
'Content-Type': "application/x-www-form-urlencoded",
},
body: {
grant_type: client_credentials,
client_id: 'Client_ID',
client_secret: 'Client_Secret',
scope: 'api_labonneboitev1'
}
});
return response.data;
}
app.listen(5000, () => {
console.log(`App listening on port `)
})
1条答案
按热度按时间ldioqlga1#
By default, axios serializes JavaScript objects to JSON,但是您将
Content-Type
头设置为application/x-www-form-urlencoded
,这不是JSON。要对正文进行URL编码,可以执行以下操作:
或者,如果这个API确实需要JSON,那么可以将
Content-Type
设置为application/json
。API是否接受JSON、urlencoded或其他格式取决于它,但底线是,您必须弄清楚这个API接受什么格式,相应地设置
Content-Type
头部,* 并 * 相应地格式化主体。