Google Apps 脚本日历,我的 createEvent 语法不再有效

Google Apps Script Calendar, my syntax with createEvent doesn't work anymore

以下语法在两天前还可以使用,但现在不行了。执行日志表明没有问题,但约会未显示在日历中。此语法每天为公司导出几十个约会。你能帮帮我吗?

function exportMeeting() {
  var calId = "myName@google.com";
  var cal = CalendarApp.getCalendarById(calId);

  var tstart = new Date('March 14, 2021 11:00:00 UTC');
  var date = new Date('March 14, 2021 11:00:00 UTC');
  tstart.setDate(date.getDate());
  tstart.setMonth(date.getMonth());
  tstart.setYear(date.getYear());

  var tstop =new Date('March 14, 2021 12:00:00 UTC');
  tstop.setDate(date.getDate());
  tstop.setMonth(date.getMonth());
  tstop.setYear(date.getYear());

  var desc="a description";
  var loc="a localisation";
  var gues="guest1@gmail.com, guest2@gmail.com";

  var newEvent = cal.createEvent("test appointment", tstart, tstop, {
    description: desc,
    location: loc,
    guests: gues
  });
}

备注:在我原来的语法中,日期(2021 年 3 月 14 日 12:00:00 UTC)来自 google sheet 单元格

您同时定义了开始日期和结束日期。那没有意义。我想问题出在电子表格文档的更改上。如果你给我看原始代码,我可以试着看看问题出在哪里,现在如果你留下如下日期,它就会被修复:

  var tstart = new Date('March 14, 2021 11:00:00 UTC');
  var tstop = new Date('March 14, 2021 12:00:00 UTC');

如果你想用电子表格值定义两个日期,我推荐如下:

  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
  var startDate = ss.getRange('A1').getDisplayValue() // start cell
  var tstart = new Date(startDate)
  var endDate = ss.getRange('A2').getDisplayValue() // end cell
  var tend = new Date(endDate)

确保 startDateendDate 有两个不同的值。 您可以尝试一个更简单的示例:

  var date = 'March 14, 2021 11:00:00'.
  var tstart = new Date(date)

参考