Вывод ответа из пост-вызова API — Javascript — 400 неверных запросов

#javascript #node.js

#javascript #node.js

Вопрос:

У меня есть скрипт, который я хочу использовать для выполнения POST-вызова api для получения токена доступа, который я хотел бы вывести. Это работает в postman, но на шаге моего скрипта я получаю ошибку 400

Я могу выполнить только post-вызов, я совершаю ошибку, не передавая никаких данных? Похоже, что я делаю что-то не так с ответом.подчеркнутый текст

Почтальон

 POST /incident/oauth2/token?grant_type=client_credentialsamp;amp; scope=/incident HTTP/1.1
Host: APM-ext
API-KEY: 'xxx-xxx-xxx-xxx
Authorization: Basic  xxxxxxxxxxxxxxxxxxxxxxxxxxxx
cache-control: no-cache
Postman-Token: ee96a8af-dcfe-ffgr-8853-8ef83cd14845
  

Скрипт

 var incident = NO12345;
console.log(incident)

var apiRequest = http.request({
    'endpoint': 'APM-ext',
    'path':'/incident/oauth2/token?grant_type=client_credentialsamp;scope=/incident',
    'API-KEY': 'xxx-xxx-xxx-xxx',
    'method': 'POST',
    "headers": {
    "Authorization": "Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "Content-Type": "application/json"
    }
});

var data = {};
var apiResponse = apiRequest.write(data);

if (apiResponse.statusCode == 200) {

    var response = JSON.parse(apiResponse.body);
    output.access_token = response.access_token;    
}
  

Ожидаемый ответ (успешный от postman)

 {
    "token_type": "Bearer",
    "access_token": "00000044444444333333333333322222222222228888888888888885555555555555555",
    "expires_in": 3600,
    "consented_on": 1599709455,
    "scope": "/incident"
}
  

Фактический ответ (из скрипта)

 < HTTP/1.1 400 BAD_REQUEST Bad Request
< Content-Type: application/json
< Access-Control-Allow-Origin: *
< Access-Control-Expose-Headers: APIm-Debug-Trans-Id, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-Global-Transaction-ID
< X-Backside-Transport: FAIL FAIL
< Connection: close
{ "error":"unknown" }
  

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

1. серверный код, выдающий ответ, помог бы

2. У меня этого нет, я вызываю внешний API

3. ох… похоже, что у вашего запроса нет хоста

4. Извините, да, я просто вынес это, чтобы опубликовать вопрос, я должен был заявить

5. Какую библиотеку вы используете для выполнения http-запроса?