@DannYLook
Программист

Как передать headers в post запросе?

Делаю post запрос через библиотеку request на ozon:

var request = require('request');
const client_id = "client_id "
const api_key = "api_key "
const headers = {
  "client-id": client_id,
  "api-key": api_key
};
let boby = {
  "filter": {
    "visibility": "ALL"
  },
  "last_id": "",
  "limit": 100
}

const options = {
  'method': 'post',
  'contentType': 'application/json',
  'headers': headers,
  'payload': JSON.stringify(boby),
};
//console.log(options)
  
request.post({
    url: 'https://api-seller.ozon.ru/v3/product/info/stocks',
    options
}, 
function(error, response, body) {
      let datas = JSON.parse(body)  
    console.log(datas)
    }
)

Ошибка:

{ code: 16, message: 'Client-Id and Api-Key headers are required' }

Пишет, что не передал заголовки, есть точно такой же код которые на google script:

const headers = {
      "client-id": client_id,
      "api-key": api_key
    };
    let boby = {
      "filter": {
        "visibility": "ALL"
      },
      "last_id": '',
      "limit": 100
    }

    const options = {
      'method': 'post',
      'contentType': 'application/json',
      'headers': headers,
      'payload': JSON.stringify(boby),
      'muteHttpExceptions': true,
    };
    console.log(options)
    let response = UrlFetchApp.fetch('https://api-seller.ozon.ru/v3/product/info/stocks', options);

Почему-то через google script работает, а через node.js нет.
  • Вопрос задан
  • 549 просмотров
Решения вопроса 1
i229194964
@i229194964
Веб разработчик
Чтобы передать заголовки в запросе, вы можете использовать метод request .
const request = require('request');
const client_id = "client_id "
const api_key = "api_key "
const headers = {
  "client-id": client_id,
  "api-key": api_key
};

let body = {
  "filter": {
    "visibility": "ALL"
  },
  "last_id": "",
  "limit": 100
};

const options = {
  url: 'https://api-seller.ozon.ru/v3/product/info/stocks',
  method: 'POST',
  headers: headers,
  json: body
};

request(options, function (error, response, body) {
  if (error) {
    console.log('Error:', error);
  } else {
    console.log('Body:', body);
  }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы