【问题标题】:Google Apps Script Calendar, my syntax with createEvent doesn't work anymoreGoogle Apps 脚本日历,我的 createEvent 语法不再起作用
【发布时间】:2021-03-10 08:14:26
【问题描述】:

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

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-apps-script calendar


    【解决方案1】:

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

      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)
    

    参考

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-27
      • 1970-01-01
      • 2019-07-05
      相关资源
      最近更新 更多