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

Google表单提交脚本报错:无事件对象或值,无法写入指定单元格

解决Google表单提交时Apps Script无法获取提交数据的问题

问题现状

你编写的脚本期望将Google表单提交的数据写入表格第61行F列起始位置,已创建「表单提交时」触发器,但实际提交后表格无数据写入。执行日志显示事件对象中不存在values属性:

Event object: {"authMode":"FULL","response":{},"source":{},"triggerUid":"229403691"}
No event object or values found.

但运行测试函数testOnFormSubmitRoofing时,模拟数据能正常写入指定位置,且尝试过重建触发器、更换表单/表格均无效。

问题原因

Google Apps Script中,表格绑定的「表单提交」触发器与表单绑定的「表单提交」触发器生成的事件对象结构不同:

  • 测试函数模拟的是表格触发器的结构(直接包含e.values字段)
  • 你实际创建的是表单触发器,其事件对象的提交数据存储在e.response中,而非e.values,因此原脚本的判断逻辑直接返回,无法执行写入操作。

解决方案

修改脚本,从e.response中提取提交数据,替换原有的e.values相关逻辑:

修改后的完整脚本

function onFormSubmitRoofing(e) {
  Logger.log('Event object: ' + JSON.stringify(e));

  // 检查事件对象及表单响应是否存在
  if (!e || !e.response) {
    Logger.log("No event object or form response found.");
    return;
  }

  // 从表单响应中提取所有提交值
  var itemResponses = e.response.getItemResponses();
  var submittedValues = itemResponses.map(itemResp => itemResp.getResponse());

  Logger.log('Form submitted: ' + JSON.stringify(submittedValues));

  // 写入指定表格位置
  var sheet = SpreadsheetApp.openById('1QpOZxLNWd21eYpcOk_gQfTE9aD0BRRlF7resFcOECec').getSheetByName('Sheet1');
  var targetRow = 61;
  var startColumn = 6;
  sheet.getRange(targetRow, startColumn, 1, submittedValues.length).setValues([submittedValues]);
  
  Logger.log('Data written to sheet: ' + JSON.stringify(submittedValues));
}

function testOnFormSubmitRoofing() {
  // 模拟表单触发器的事件对象结构
  var mockResponse = {
    getItemResponses: () => [
      { getResponse: () => "Test Name" }
      // 可根据表单字段数量添加更多模拟响应
    ]
  };
  var e = { response: mockResponse };
  onFormSubmitRoofing(e);
}

关键修改点

  1. 将判断条件从!e || !e.values改为!e || !e.response,适配表单触发器的事件结构
  2. 通过e.response.getItemResponses()获取所有表单问题的响应,再遍历提取每个问题的提交值
  3. 更新测试函数,模拟表单触发器的e.response结构,确保测试逻辑与实际触发场景一致

额外说明

如果你的脚本是绑定在Google表格中,也可以选择创建表格的「表单提交」触发器,此时事件对象会包含e.values字段,原脚本无需修改即可正常运行。但如果需要绑定在表单或独立脚本中,必须使用e.response来获取提交数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 01:40:55