UrlFetchApp.fetch против fetch - PullRequest
       6

UrlFetchApp.fetch против fetch

0 голосов
/ 05 февраля 2019

Я создал веб-приложение с помощью Google Apps Script.

С моим серверным кодом, когда я делаю запрос на получение с использованием UrlFetchApp.fetch

UrlFetchApp.fetch("URL", {headers: {Authorization: "Bearer #ID"})

Правильный ответ возвращается, и все отлично работает!

Вот проблема, на веб-интерфейсе, когда я использую функцию fetch, я получаю несколько ошибок.Вот как я использую fetch

fetch(URL,  {headers: {Authorization: "Bearer #ID"})

Вот ошибки, которые я получаю:

  • Получить URL 401 (неавторизовано) - я передаю те же учетные данные, что иЯ использовал для запроса UrlFetchApp.fetch, который работает на стороне сервера.
  • Ошибка CORS: доступ к выборке по "URL" из источника "веб-URL сценария приложений Google" заблокирован политикой CORS: Нет "ДоступЗаголовок -Control-Allow-Origin 'присутствует в запрашиваемом ресурсе. Если непрозрачный ответ удовлетворяет вашим потребностям, установите режим запроса в' no-cors ', чтобы получить ресурс с отключенным CORS.
  • Uncaught (вобещание) TypeError: Не удалось получить

Я прошёл через множество информации, имеющей отношение к CORS, и попробовал несколько шагов в решении проблемы, таких как:

  • В необязательном аргументе к fetch я добавил mode:"cors" и другие варианты, перечисленные в документации.
  • Я развернул веб-приложение сценариев Google Apps
  • Когда я пытаюсь сделать запрос из ChromeКонсоле, я получаю ту же ошибку ... но когда я делаю это в почтальоне все работает.
  • Я добавил поле "Content-Type": "application/json" в поле заголовков и получил те же ошибки.

Я знаю, что у меня гораздо больше исследований, связанных с CORS.Мой главный вопрос: почему выборка работает из среды сервера сценариев приложений Google, почему отправленный оттуда запрос не получает ту же ошибку CORS по сравнению с запросом с помощью метода API браузера fetch?

Документация гласит, что:

Запросы, сделанные с использованием этой службы, исходят из набора пулов диапазонов IP-адресов.Вы можете просмотреть полный список IP-адресов, если вам нужен белый список или утвердить эти запросы.

Я предполагаю, что это означает, что запрос со стороны кода сервера принят или утвержден в этом списке,по сравнению с выполнением запроса на стороне клиента с теми же учетными данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...