Подтвердить что ты не робот

Событие формы Google, полученное в форме submit, не имеет ответов

Я пытаюсь собрать данные ответа из формы Google, используя привязку script к форме, используя триггер onFormSubmit().

В большинстве случаев данные принимаются без ошибок, но время от времени я получаю сообщение об ошибке. Триггер принимается, но данные не передаются в script. Ответ получен консолью формы Google, но не перенаправлен на script.

Код для приема данных:

function onFormSubmit(e)
{

  Logger.log("A response has been received!");
  Logger.log(e);
  var resp = e.response.getItemResponses(); //capturing trigger event output
  var form = e.source;
......

Протокол исполнения в случае ошибки:

[16-09-27 07:29:15:073 PDT] Starting execution
[16-09-27 07:29:15:096 PDT] Logger.log([A response has been received!, []]) [0 seconds]
[16-09-27 07:29:15:097 PDT] Logger.log([{authMode=FULL, triggerUid=xxxxxxx41}, []]) [0 seconds]
[16-09-27 07:29:15:099 PDT] Execution failed: TypeError: Cannot call method "getItemResponses" of undefined. (line 18, file "Code") [0.002 seconds total runtime]

До сих пор я исправил его, дублируя форму и переустанавливая все разрешения. Но я бы хотел, чтобы решение не позволяло мне снова это делать. На моем 10-м дублировании сейчас:( Кто-нибудь сталкивался с этой проблемой? Пожалуйста, помогите!!

Когда я успешно получал ответы, e также имел ключ ответа.

4b9b3361

Ответ 1

Это работа, которая должна помешать вашему script сломаться:

function onFormSubmit(e)
{
  Logger.log("A response has been received!");
  // Check if e is defined
  if (e) {
    // Any code that use e should be inside this block
    Logger.log(e);
    var resp = e.response.getItemResponses(); //capturing trigger event output
    var form = e.source;
  } else {
    // Log if e is undefined
    Logger.log('e is undefined!');
  }
......

Я согласен с Rubén в том, что вам следует обратиться в службу поддержки Google, чтобы изучить проблему, особенно вы можете увидеть ответ в консоли.

Ответ 2

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