Как выполнить POST/GET запрос к googleScripts через fetch?

Ссылка скопирована
1 ответ

Нужно развернуть Google script, с возможностью получить данные через fetch.

Сейчас все работает, если зайти по ссылке в браузере.
Для примера: клик

Но при попытке получить ответ через GET получаем SyntaxError: Unexpected end of input (ответ приходит пустым).

POST выбрасывает 401 ошибку.

fetch('https://script.google.com/macros/s/AKfycbwl7XegZrDWmAen0Zb5aUAxF5shCV1fIwCsyGsB_aNJBJO3BRs/exec', {     method: 'GET',     mode:'no-cors',     redirect:'follow' }).then(res=>res.json());

fetch('https://script.google.com/macros/s/AKfycbwl7XegZrDWmAen0Zb5aUAxF5shCV1fIwCsyGsB_aNJBJO3BRs/exec', { method: 'GET', mode:'no-cors', redirect:'follow' }).then(res=>res.json());

Дополнительно:

CORS? что пишет консоль? Или это с сервера запускается?

  • На CORS не ругается, прилетает пустой ответ
  • Ответы:

    Думаю, нужно отправить параметры в POST запросе, логин и пароль.

    • Скрипт публичный, дело не в логине
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Ольга Сеть Ответ

    Для выполнения POST/GET запроса к Google Scripts через fetch вам понадобится использовать следующий код:

    // POST запрос
    fetch('https://script.google.com/macros/s/your-script-id/exec', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        key1: 'value1',
        key2: 'value2'
      })
    })
    .then(response => response.json())
    .then(data => {
      console.log(data);
    })
    .catch(error => {
      console.error('Error:', error);
    });
     
    // GET запрос
    fetch('https://script.google.com/macros/s/your-script-id/exec?key1=value1&key2=value2')
    .then(response => response.json())
    .then(data => {
      console.log(data);
    })
    .catch(error => {
      console.error('Error:', error);
    });

    // POST запрос fetch('https://script.google.com/macros/s/your-script-id/exec', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ key1: 'value1', key2: 'value2' }) }) .then(response => response.json()) .then(data => { console.log(data); }) .catch(error => { console.error('Error:', error); }); // GET запрос fetch('https://script.google.com/macros/s/your-script-id/exec?key1=value1&key2=value2') .then(response => response.json()) .then(data => { console.log(data); }) .catch(error => { console.error('Error:', error); });

    Замените `'https://script.google.com/macros/s/your-script-id/exec'` на URL вашего Google Script, а также укажите необходимые параметры запроса в соответствии с вашим скриптом. В случае POST запроса, вы можете передать данные в виде объекта, который будет преобразован в JSON с помощью `JSON.stringify()`. В случае GET запроса, параметры добавляются к URL после знака `?`.

    Не забудьте обработать ответ от сервера с помощью методов `.then()`, чтобы получить данные и обработать их соответствующим образом. В случае ошибки запроса, использование метода `.catch()` позволит вам обработать и вывести ошибку в консоль.

    Надеюсь, это поможет вам выполнить запросы к Google Scripts через fetch. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно