簡體   English   中英

如何使用 Nodejs 獲取客戶端憑據?

[英]How get a client credentials with Nodejs?

我是NodeJs的新手,我想使用工作 API,但我需要首先獲取access_token (客戶端憑據),所以我嘗試CLIENT_SECRET我的CLIENT_IDPOST來獲取它,但我認為我在我的代碼:

根據文檔,我試圖重現屬性的順序,所以我嘗試了這個:

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 `)
})

默認情況下,axios 將 JavaScript 對象序列化為 JSON ,但您將Content-Type header 設置為application/x-www-form-urlencoded ,而不是 JSON。

要對正文進行 URL 編碼,您可以這樣做:

body: new URLSearchParams({
  grant_type: client_credentials,
  client_id: 'Client_ID',
  client_secret: 'Client_Secret',
  scope: 'api_labonneboitev1'
})

或者,如果這個 API 確實需要 JSON,那么您可以將Content-Type設置為application/json

API 是否接受 JSON、urlencoded 或其他,取決於它。 但最重要的是,你必須弄清楚這個 API 接受什么格式,相應地設置Content-Type header,相應地格式化正文。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM