В двух словах по теории:
Cross-Origin Resource Sharing (CORS) — это механизм веб-безопасности,
который позволяет веб-сайту получать доступ к ресурсам, размещённым на
другом домене. Он решает проблему политики одинакового происхождения
(Same-Origin Policy), которая по умолчанию запрещает запросы с одного
домена к другому.
CORS позволяет серверу явно указать, какие домены, методы и заголовки разрешены для доступа к его ресурсам. Это делается через HTTP-заголовки, как пример:
Access-Control-Allow-Origin — какие домены имеют доступ (может быть
конкретный домен или * для всех).
Access-Control-Allow-Methods — какие HTTP-методы разрешены
(GET, POST, PUT, DELETE и т.д.).
Access-Control-Allow-Headers — какие заголовки можно передавать в
запросе.
Access-Control-Allow-Credentials — разрешает или запрещает передачу
cookie и авторизационных данных.
Это классическая ошибка CORS. Она говорит о том, что сервер Google Apps Script не отправляет заголовок Access-Control-Allow-Origin, поэтому браузер блокирует запрос. Если ты разрабатываешь локально, попробуй отключить CORS в браузере (только для тестов!):
Забыл указать, что твой код пытается настроить CORS на клиенте, но это не так работает — CORS настраивается на сервере, а не в запросе. Клиент не может разрешить себе доступ к другому домену — это задача сервера.