Есть модуль npm: как добавить токен на предъявителя в запрос POST

#node.js #npm #gotjs

#node.js #нпм #node.js-есть #npm #node.js-получил

Вопрос:

Недавно я узнал, что request это больше не поддерживается, поэтому лучшая альтернатива, которую я нашел, это got . Я пытаюсь выполнить внешний вызов API на сервер REST, но я не уверен относительно того, как я могу добавить токен-носитель в заголовок авторизации запроса POST.

Это мой код:

 const response = await got.post(
  "https://${SERVER}/${SOME_ID}/conversations/${CONVERSATION_ID}/messages",
  {
    json: [
      {
        text: req.body.message,
        type: "SystemMessage",
      }
    ],
    responseType: "json",
    headers: {
        token: "Bearer pXw4BpO95OOsZiDQS7mQvOjs"
    }
  }
);
  

Это приводит к 401 Unauthorized . Я не смог найти направление к такой реализации в документации, предоставленной GOT. И поскольку запросов относительно этого пакета не так много, мне также не удалось найти что-либо в Google. Если кто-нибудь может помочь мне в этом отношении, это было бы очень полезно!

Комментарии:

1. Вы можете использовать, что они разветвляют пакет запроса, и он поддерживается командой postman, обладающей всеми функциями пакета запроса

Ответ №1:

Вы уверены, что имя заголовка — «токен»? Обычно в API предъявитель находится в заголовке под названием «Авторизация»

 const response = await got.post(
  "https://${SERVER}/${SOME_ID}/conversations/${CONVERSATION_ID}/messages",
  {
    json: [
      {
        text: req.body.message,
        type: "SystemMessage",
      }
    ],
    responseType: "json",
    headers: {
      "Authorization": "Bearer pXw4BpO95OOsZiDQS7mQvOjs"
    }
  }
);
  

Ответ №2:

Вот этот код

npm i postman-request ссылка для пакета npm

 const request = require('postman-request');

request({
  url: 'your url',
  headers: {
     'Authorization': 'Bearer 71D50F9987529'
  },
  rejectUnauthorized: false
}, function(err, res) {
      if(err) {
        console.error(err);
      } else {
        console.log(res.body);
      }

});
  

Комментарии:

1. Спасибо за ответ, но мне было больше интересно узнать, как я мог бы достичь этой функциональности, все еще используя got

2. Я дал вам этот способ, потому что вы упомянули, что пакет запроса устарел, но команда postman поддерживает ту же функциональность, даже улучшенную, в своем пакете postman-request npm

3. Спасибо за это. got настолько плохо документирован, что я удивлен, что кто-то действительно его использует.