![](/img/trans.png)
[英]Google Apps Script : The parameters (String) don't match the method signature for CalendarApp.Calendar.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)
确保你得到两个不同的startDate
和endDate
值。 您可以尝试一个更简单的示例:
var date = 'March 14, 2021 11:00:00'.
var tstart = new Date(date)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.