Google apps script Google应用程序脚本-发布getCalendarsByName然后发布getEvents

Google apps script Google应用程序脚本-发布getCalendarsByName然后发布getEvents,google-apps-script,Google Apps Script,我正在构建一个GoogleApps脚本代码,将事件从日历写入电子表格。 我要使用的日历不是我的默认日历,我想按名称获取此日历。 然而,这种方法不起作用。。。 getCalendarById确实有效,但由于此脚本是为非初始化用户编写的,因此我需要按名称获取日历 谢谢你的进一步帮助 var cal = CalendarApp.getCalendarsByName("Test 21"); // var cal = CalendarApp.getDefaultCalendar(); var s

我正在构建一个GoogleApps脚本代码,将事件从日历写入电子表格。 我要使用的日历不是我的默认日历,我想按名称获取此日历。 然而,这种方法不起作用。。。 getCalendarById确实有效,但由于此脚本是为非初始化用户编写的,因此我需要按名称获取日历

谢谢你的进一步帮助

var cal = CalendarApp.getCalendarsByName("Test 21");    
// var cal = CalendarApp.getDefaultCalendar(); 
var sheet = SpreadsheetApp.getActiveSheet();

var events = cal.getEvents(new Date("January 1, 2012"), new Date("December 31, 2030"));

for (var i=0;i<events.length;i++) {

var details=[[events[i].getTitle(), events[i].getDescription(), events[i].getStartTime(), events[i].getEndTime()]];

var row=i+1;

var range=sheet.getRange(row,1,1,4);

range.setValues(details);

}
}
var-cal=CalendarApp.getCalendarsByName(“测试21”);
//var cal=CalendarApp.getDefaultCalendar();
var sheet=SpreadsheetApp.getActiveSheet();
var事件=cal.getEvents(新日期(“2012年1月1日”)、新日期(“2030年12月31日”);

对于(var i=0;i您是否注意到
getCalendarsByName
中的“s”?这意味着此方法返回一个日历对象数组,因为可以有许多具有相同名称的日历。 如果您认为很可能只有一个日历具有您输入的名称,那么您可以决定只获取第一个日历

要做到这一点,只需像这样定义Cal

var cal  = getCalendarByName(name string)[0]