从ScriptApp.newTrigger和Google AppScript返回的空对象

问题描述 投票:0回答:1

我正在尝试按照AppScript文档中指定的方式提交Google表单后创建新的触发器:

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'。

相反,空对象(即绝对没有属性或方法)会返回其位置,但在Google的Stackdriver日志记录中仍被报告为ScriptApp.TriggerBuilder的实例。

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

我在这里缺少基本的东西吗?

编辑:感谢@TheMaster的建议。由于SpreadsheetApp.getActiveSpreadsheet()返回null是因为它是通过表单而不是电子表格的上下文触发的。]

通过将其更改为FormApp.getActiveForm().getDestinationId(),我能够为链接的电子表格检索正确的文档ID。

我正在尝试按照AppScript文档中的规定在提交Google表单后创建新的触发器:ScriptApp.newTrigger函数onFormSubmit(){const triggerName ='...

google-apps-script triggers google-form
1个回答
0
投票

感谢@TheMaster的建议。由于SpreadsheetApp.getActiveSpreadsheet()返回null的原因是它是通过表单而不是电子表格的上下文触发的。

通过将其更改为FormApp.getActiveForm()。getDestinationId(),我能够为链接的电子表格检索正确的文档ID。

© www.soinside.com 2019 - 2024. All rights reserved.