@arsenaljek

Google Sheets и API OZON. Как выгрузить остатки?

Пытаюсь подключиться к API OZON для того, чтобы автоматически выводить остатки в Google таблицу.
Пробую так:
function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("Лист1");
  var row = sheet.getRange(2,2);
  var options = {
    method: "POST",
      headers:  {
        'Client-Id': 'XXX',
        'Api-Key': 'XXX',
        'accept': 'application/json'
      }
  }
  var response = UrlFetchApp.fetch("https://api-seller.ozon.ru/v1/product/list", options);
  var data = JSON.parse(response);
  Logger.log(data)
}

И мне возвращает ошибку:
Exception: Request failed for https://api-seller.ozon.ru returned code 400. Truncated server response: {"error":{"code":"BAD_REQUEST","message":"Invalid JSON payload","data":[{"name":"cause","code":"","value":"invalid character 'A' looking for beginn... (use muteHttpExceptions option to examine full response)

Я так понимаю, что возвращается невалидный JSON.
  • Вопрос задан
  • 2087 просмотров
Решения вопроса 1
ProgrammerForever
@ProgrammerForever Куратор тега Google Apps Script
Учитель, автоэлектрик, программист, музыкант
У вас нет запроса самого. Вот тут есть примеры - OZON Seller API: Получить описание товара
const API_URL = "https://api-seller.ozon.ru";

const endpoint = "/v1/product/list";
let options = {
    method: "POST",
      headers:  {
        'Client-Id': 'XXX',
        'Api-Key': 'XXX',
        'accept': 'application/json'
      },
    payload:{
      "filter": {
        "offer_id": [
          "string" // задайте значение или список
        ],
        "product_id": [
          0 // задайте значение или список
        ],
        "visibility": "ALL" /* "ALL" "VISIBLE" "INVISIBLE" "EMPTY_STOCK" "NOT_MODERATED" "MODERATED" "DISABLED" "STATE_FAILED" "READY_TO_SUPPLY" "EMPTY_NAVIGATION_CATEGORY" "VALIDATION_STATE_PENDING" "VALIDATION_STATE_FAIL" "VALIDATION_STATE_SUCCESS" "TO_SUPPLY" "IN_SALE" "REMOVED_FROM_SALE" "ARCHIVED" */
      },
      "page": 0,  // Номер страницы, возвращаемой в запросе.
      "page_size": 0 // Количество элементов на странице.
    }
  };
  let response = UrlFetchApp.fetch(API_URL + endpoint, options);
  let data = JSON.parse(response);
  Logger.log(data);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы