You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在脚本创建的Google表单响应中设置getRespondentEmail的值?

解决Google Apps Script提交表单时设置受访者邮箱的问题

没错,这个需求完全可以实现!你遇到的报错根源在于:表单开启了收集电子邮件地址的设置,提交响应时必须提供合法的邮箱值,但你的初始脚本没有配置这个必填项,所以触发了Invalid data updating form错误。

具体实现步骤

Google Apps Script的FormResponse对象其实内置了setRespondentEmail(email)方法,专门用来设置受访者的邮箱地址。只需要在提交响应前调用这个方法即可。

修改后的可用代码如下:

function createDummyFormResponse() { 
  var form = FormApp.openById('1Ve12XWUxYH9U1cBPwAmgLbWdA8S3lnEkqgosTbqlOLg'); 
  var response = form.createResponse(); 
  // 替换为符合格式的测试邮箱地址
  response.setRespondentEmail('test-user@example.com');
  response.submit(); 
}

关键注意点

  • 传入的邮箱必须是格式合法的有效地址(比如xxx@xxx.com),否则会触发格式校验错误
  • 如果你的表单设置的是从用户Google账户自动收集邮箱,只要脚本运行的账户具备足够权限,setRespondentEmail依然可以手动指定邮箱值
  • 确保表单的「收集电子邮件地址」选项处于开启状态(在表单设置的「发送表单」标签页下),这个方法仅在表单要求收集邮箱时生效

另外,你提到已经创建了相关Issue,若其他开发者也有类似需求,欢迎通过星标关注该Issue推动问题解决。

内容的提问来源于stack exchange,提问作者roma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 12:57:29