首页 > 解决方案 > Google 表单 onSubmit 事件不包含表单回复

问题描述

我正在尝试从谷歌表中获取响应,我已经成功设置了 onSubmit 触发器,并且实际上调用了所需的函数,但由于某些奇怪的原因,该事件不包含表单响应。

我尝试使用 UI 编辑器和运行此函数来设置表单触发器。

function setupTrigger(){
  ScriptApp.newTrigger('addMedicalRecordsOnSubmit')
    .forForm('1agiEov6gDjoTEgUTI2oO9tJWjt1DkyZZmTzMRO8MhIQ')
    .onFormSubmit()
    .create();
}

这是我提交表单时实际触发的代码 onsubmit 代码。

function addMedicalRecordsOnSubmit(e) {
  console.log(JSON.stringify(e));
}

控制台输出响应为空:

Aug 25, 2021, 8:55:56 PM    Debug   {"authMode":"FULL","response":{},"source":{},"triggerUid":"6856708"}

标签: google-apps-scriptgoogle-sheets

解决方案


当您在对象(类)中使用ScriptApp.newTrigger().forForm().onFormSubmit()响应返回时。formResponse因此,日志无法显示累计值。

但是,您可以操作 formResponse 对象来查看它的内容。例如:

function addMedicalRecordsOnSubmit(e) {
  console.log(e.response) // expected result: {}
  console.log(e.response.getEditResponseUrl()) // expected result: 'https://...'
}

另请参阅我的解释了解电子表格和表单之间的区别onFormSubmit


推荐阅读