Как отправить токен на предъявителя и данные x-www-form-urlencoded с помощью Node Request

Я хочу повторить этот вызов Почтальона, используя запрос модуля узла. Смотрите скриншоты.

Скриншот

screenshot2

Как показано на скриншоте, в моем запросе мне нужно передать bearer token так же как x-www-form-urlencoded ценности. Я попытался следовать топ-2 ответам из этого поста, но безуспешно

Я в основном пытался сделать

let form = {
    "field1": value1,
    "filed2": value2
};

let headers = {
    'Content-Type' : 'application/x-www-form-urlencoded',
    'Authorization': 'Bearer ' + token
}

request.post({ url: "https://myapp.net/myendpoint", form: form, headers: headers }, function(err, res, success){
    console.log(success);
});

а также

let form = {
    "field1": value1,
    "field2": value2
};

var formData = querystring.stringify(form);

let options = {
    uri: "https://myapp.net/myendpoint",
    method: 'POST',
    auth: {
        'bearer': token
    },
    headers: {
        'Content-Type' : 'application/x-www-form-urlencoded'
    },
    body: formData
};


request.post(options, function(err, res, success){
    console.log(success);
});

Может кто-нибудь показать, пожалуйста, правильный способ сделать это?

РЕДАКТИРОВАТЬ: Чтобы уточнить: результат этих запросов 400 статус. Я бы тоже получил 400 на Почтальона, если бы отправлял form-data, но если я отправлю x-www-form-urlencoded тогда это преуспеет в почтальоне. Я не знаю, как сделать это в запросе.

1 ответ

Решение

Попробуй это

let options = {
    uri: "https://myapp.net/myendpoint",
    method: 'POST',
    headers: {
        'Authorization' : 'Bearer ' + token
    },
    form: {
        "field1": value1,
        "field2": value2
    };
};

request.post(options, function(err, res, success){
    console.log(success);
});

Тип контента должен быть установлен автоматически

Другие вопросы по тегам