Попытка сделать POST-вызов из скрипта Google App - PullRequest
1 голос
/ 22 июня 2019

Я пытаюсь вызвать POST-вызов как веб-крючок для запуска рабочего процесса во внешней системе из Google Sheets с использованием Google App Script

Логика в порядке, я проверил, что скрипт будет запускаться так, как я хочу, когда ячейка в столбце 6 редактируется. Проблема в том, что я не могу получить звонок на URL моего веб-крюка для отправки

В приведенном ниже коде я вернул его к примеру Google, приведенному в их документах, чтобы попытаться заставить его работать до того, как я добавлю данные, которые мне действительно нужны. Любые указатели будут оценены. Это будет что-то глупое ... Я слишком долго смотрел на это и копался в слишком большом количестве ресурсов.

  var cell = SpreadsheetApp.getActive().getActiveCell();
  var row = cell.getRow();
  var col = cell.getColumn();

  if (col == 6){

    var data = {
      'name': 'Bob Smith',
      'age': 35,
      'pets': ['fido', 'fluffy']
    };
    var options = {
      'method' : 'post',
      'contentType': 'application/json',
      // Convert the JavaScript object to a JSON string.
      'payload' : JSON.stringify(data)
    };
UrlFetchApp.fetch('https://webhook.site/26d7bc1e-8d40-4249-bbf4-f7360ae26424', options);

  }
  else {
    return;
  }
}

1 Ответ

0 голосов
/ 25 июня 2019

Проблема:

Когда скрипт запускается триггером события OnEdit, равным onEdit(), this is the simple trigger. In this case, when the methods for requiring to authorize are included in the script, suth error occurs. In your case, it's UrlFetchApp.fetch () ``.

Решение:

Чтобы избежать этой ошибки, используйте устанавливаемый триггер. При использовании устанавливаемого триггера измените имя функции с onEdit() на другое имя, например sample(). Таким образом, выполнение сценария 2 раза может быть предотвращено.

Примечание:

  • В вашем случае, если onEdit() установлен в качестве устанавливаемого триггера триггера OnEdit, onEdit(), который запускается как простой триггер, вызывает ошибку в вашем вопросе. И затем, onEdit(), который запускается как устанавливаемый триггер. Похоже, что скрипт запускается 1 раз.

Ссылки:

...