Пустой объект возвращен из ScriptApp.newTrigger с Google AppScript - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь создать новый триггер при отправке формы Google, как указано в документации AppScript:

ScriptApp.newTrigger

function onFormSubmit() {

  const triggerName = 'myNewTrigger';
  const sheet = SpreadsheetApp.getActiveSpreadsheet();

  const trigger = ScriptApp.newTrigger(triggerName);

  console.info(trigger);

  trigger.forSpreadsheet(sheet).onFormSubmit().create();

}

function myNewTrigger(e) {

  // perform some task

}

Когда вызывая 'ScriptApp.newTrigger', я ожидаю, что будет возвращен экземпляр TriggerBuilder, который включает в себя метод 'forSpreadsheet'.

Вместо этого вместо него возвращается пустой объект (то есть абсолютно никаких свойств или методов), но до сих пор сообщается, что он является экземпляром ScriptApp.TriggerBuilder в журнале Google Stackdriver.

Exception: Unexpected error while getting the method or property forSpreadsheet on object ScriptApp.TriggerBuilder

Я что-то упустил здесь из фундаментального?

Редактировать: Спасибо @TheMaster за их предложение. Поскольку SpreadsheetApp.getActiveSpreadsheet() возвращал null из-за того, что он вызывался с контекстом формы вместо электронной таблицы.

Изменив это значение на FormApp.getActiveForm().getDestinationId(), я смог получить правильный документ идентификатор связанной электронной таблицы.

1 Ответ

0 голосов
/ 24 марта 2020

Спасибо @TheMaster за их предложение. Поскольку SpreadsheetApp.getActiveSpreadsheet () возвращал значение NULL из-за того, что он запускался с контекстом формы вместо электронной таблицы.

Изменив это на FormApp.getActiveForm (). GetDestinationId (), я был возможность получить правильный идентификатор документа для связанной электронной таблицы.

...