Google Form提交时自动发送响应摘要URL至邮箱的问题排查
解决Google表单提交后发送响应摘要URL的问题
问题根源
你调用的e.getSummaryUrl()是错误用法——事件对象e本身没有这个方法,getSummaryUrl()是FormResponse类的专属方法,必须从e.response实例中调用。另外要确保脚本绑定了正确的表单,且配置了正确的触发方式。
修正后的代码
function saveDetailsInFolder(e) { // 获取当前提交的FormResponse实例 const formResponse = e.response; // 调用FormResponse的方法获取摘要链接 const summaryUrl = formResponse.getSummaryUrl(); MailApp.sendEmail({ to: "你的邮箱地址", subject: "新表单提交摘要链接", body: `本次提交的摘要链接:${summaryUrl}` }); }
核心注意事项
- 脚本必须直接绑定到目标Google表单(不要用独立脚本)。
- 配置表单提交触发器:
- 打开脚本编辑器,点击左侧「触发器」图标。
- 添加触发器,选择
saveDetailsInFolder函数,事件源选「表单」,事件类型选「表单提交」。
- 首次触发时需完成权限授权:按照提示允许脚本访问邮箱和表单数据。
- 不要手动运行函数测试(手动运行没有事件对象
e会报错),必须通过实际提交表单触发验证。
内容的提问来源于stack exchange,提问作者Joshua
相关产品推荐
相关产品推荐

