繁体   English   中英

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)来自谷歌表格单元格

您正在同时定义开始日期和结束日期。 那没有意义。 我想问题将来自电子表格文档的更改。 如果您向我展示原始代码,我可以尝试查看问题出在哪里,现在如果您将日期保留如下,它将得到修复:

  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)

参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM