Google Form Submit Event : TypeError: Cannot call method "getRow" of undefined

Google Form Submit Event : TypeError: Cannot call method "getRow" of undefined

function onOpen(e) {
  FormApp.getUi()
  .createAddonMenu()
  .addItem('About', 'showAbout')
  .addToUi();
}

function onInstall(e) {
  onOpen(e);
}

function testFormSubmit (event) {
  try {

    //{"response":{},"source":{},"authMode":{},"triggerUid":2146837001}
    Logger.log( JSON.stringify(event) ); 

    var responce = event.response;
    Logger.log("responce.getId(): -------------");
    Logger.log( responce.getId() );

    Logger.log("responce.getEditResponseUrl(): ----------------");
    Logger.log( responce.getEditResponseUrl() );

    var ss = event.source; //Spreadsheet

    //Logger.log( event.range.getA1Notation() );
    Logger.log("event.range.getRow(): ----------------");
    Logger.log( event.range.getRow() );
  } catch (err) {
    Logger.log(err.toString());
  }
}

我有错误:

TypeError: Cannot call method "getRow" of undefined

我已阅读Documentation (triggers/events) and Installable triggers and Simple triggers 但我仍然不明白我需要做什么才能获得 event.range.getRow()(其他一切正常)

谢谢。

表单提交驱动的触发器有两种:Sheets trigger (which you create using Sheets script editor) and Forms trigger(使用表单脚本编辑器创建)。他们的事件对象是不同的。 Sheets 触发器有 range 属性,Forms 触发器没有。您正在使用表单触发器。

如果您需要知道条目记录在哪一行,请使用表格触发器(注意:它不会有 response 属性)。您 link 的文档包含所有这些信息。