Внешний API NetSuite Restlet - запрос CORS не выполнен - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь написать вечный API для нашей компании, включил интеграцию с внешними системами.Например, Woo Commerce отправляет заказы в NetSuite.

У меня есть базовый остаток, который просто возвращает

function doGet(requestParams) {
    return "got";
}

Моя тестовая HTML-страница написана так:

<script>
  // Create a request variable and assign a new XMLHttpRequest object to it.
var request = new XMLHttpRequest();
request.open('GET', 'https://debugger.netsuite.com/app/site/hosting/restlet.nl?script=XXX&deploy=XXX ', true);
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {

  // Begin accessing JSON data here
  var data = JSON.parse(this.response);

  if (request.status >= 200 && request.status < 400) {
    console.log(data);
  } else {
    console.log('error');
  }
}

// Send request
request.send();
</script>

Все, что я могу получить, это

Блокировка перекрестного запроса: одна и та же политика происхождения запрещает чтение удаленного ресурса в https://debugger.netsuite.com/app/site/hosting/restlet.nl?script=XXX&deploy=XXX. (причина: запрос CORS не выполнен)

Какможно ли заставить этот API работать

1 Ответ

2 голосов
/ 14 марта 2019

Вы не можете сделать это напрямую. Нет встроенной интеграции Netsuite, которая позволила бы вам устанавливать заголовки CORS.

Вы можете использовать прокси-вызовы через лямбда-сервис AWS, и это будет довольно производительно и довольно недорого

...