如何基于表单提交创建事件?

How to createEvent based on form submit?

我在主要编码支持论坛上多次看到一个问题,如何根据表单提交将事件添加到日历。尽管如此,我还是很挣扎。

时间戳形式 日期 名字 开始时间 结束时间 描述
25/05/2021 13:05:05 =to_date(A2) 开会 15:05:00 15:42:00 花园

活动总是在表单提交之日举行。以下代码似乎没有任何结果。

var spreadsheet   = SpreadsheetApp.getActive().getSheetByName("Form1");
var data          = spreadsheet.getRange("A2:F").getValues();

function toCal() {
    let [,  date, name, startTime, endTime, descr] = data;
    var calen = CalendarApp.getCalendarById("examplecal@group.calendar.google.com");
    calen.createEvent(name, 
    new Date(date + startTime), 
    new Date(date + endTime),
    {location: "Brandenburger Tor", description: descr});
  }
}

事件只需要基于上次提交,所以我可以将其放在“表单提交”触发器上。

我认为问题出在日期时间上。但是,如果我只是输入 new Date("25/05/2021 15:05:00") 而不是当前的内容,我的日历中也不会出现任何内容。

如有任何帮助,我们将不胜感激。

格式 B2 为 2021-05-25

并尝试:

function toCal() {
  var spreadsheet = SpreadsheetApp.getActive().getSheetByName("Form1");
  var data = spreadsheet.getRange("A2:F2").getDisplayValues();
  start = new Date(data[0][1] + " " + data[0][3]);
  end = new Date(data[0][1] + " " + data[0][4]);
  var calen = CalendarApp.getCalendarById("examplecal@group.calendar.google.com");
  calen.createEvent(data[0][2], start, end,
    {location: "Brandenburger Tor", description: data[0][5]});
}