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

Google Apps Script报错TypeError: Cannot read properties of undefined (reading 'values')求助

解决Google表单脚本TypeError: Cannot read properties of undefined (reading 'values')问题

问题原因

这个错误是因为脚本依赖的表单提交事件对象e结构发生了变更,或是直接在编辑器手动运行脚本时未传入合法的e参数(手动运行时e为undefined,自然无法读取values属性)。结合你提到同类脚本都出问题,大概率是Google Forms的事件对象结构近期更新,导致原有的e.values无法正常获取。

修复步骤

  1. 区分测试场景

    • 不要直接在编辑器点击运行按钮测试脚本,手动运行时没有表单提交触发的e对象,必然会报这个错误。测试必须通过手动提交一次表单来验证。
  2. 替换e.values的取值逻辑
    将原脚本中依赖e.values的部分,改为从e.response对象中获取响应数据,示例代码如下:

    // 原报错代码
    // var formValues = e.values;
    
    // 新代码
    var formResponse = e.response;
    var itemResponses = formResponse.getItemResponses();
    // 按表单字段顺序提取所有响应值
    var formValues = itemResponses.map(function(itemResp) {
      return itemResp.getResponse();
    });
    // 若需要保留原e.values包含的提交时间戳,添加以下代码
    formValues.unshift(formResponse.getTimestamp().toISOString());
    

    替换后,原脚本中使用formValues的逻辑可保持不变,因为新的formValues结构和原e.values一致。

  3. 检查触发器配置
    确认脚本的触发器类型是表单提交,而非其他类型(比如时间驱动),且触发器绑定账号与表单所有者账号一致。

  4. 查看执行日志
    提交测试表单后,在脚本编辑器中点击「查看」→「日志」,确认是否还有错误,若有其他报错可进一步排查。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 07:02:11