我有一个名为“重要!!”的日历。当嵌入我的代码中时,它会导致它不起作用(没有错误,该函数什么也不做)。我认为这个问题是由!!造成的!名称末尾的字符,但我不知道该问题是什么或如何解决。我应该怎么做才能避免这个问题?
function myFunction() {
var year = 2019;
var month = 0;
var fromDate = new Date(year,month,1,0,0,0);
var toDate = new Date(year,month,28,0,0,0);
var theCalendar = CalendarApp.getCalendarsByName('IMPORTANT!!')[0];
var events = theCalendar.getEvents(fromDate, toDate);
for(var i = 0; i < events.length; i++){
var ev = events[i];
ev.deleteEvent();
}
}
如何解决该错误,以便我的脚本将从2019年1月发布在'def'中的Google日历中删除所有事件。
答案 0 :(得分:0)
getCalendarsByName()
返回Calendar[]
,它是一个数组。因此,如果def
的日历名称在您的日历中只有一个,那么如何进行修改?
var theCalendar = CalendarApp.getCalendarsByName('def');
var theCalendar = CalendarApp.getCalendarsByName('def')[0];
关于您的新问题,如果events
没有元素,则for循环不起作用。
我认为这可能是您发行新刊的原因。请对此进行确认。
theCalendar.getEvents(fromDate, toDate)
可以检索事件的时间。 for循环中的eleteEvent()
将起作用。
您可以使用以下脚本检索所有日历的日历ID和日历名称。
var result = CalendarApp.getAllCalendars().map(function(e) {return {id: e.getId(), name: e.getName()}});
Logger.log(result);
[
{
"id": "### calendarId1 ###",
"name": "### calendarName1 ###"
},
{
"id": "### calendarId2 ###",
"name": "### calendarName2 ###"
},
,
,
,
]