我有一个日历叫“重要!!”当它嵌入到我的代码中时,会导致它无法工作(没有错误,函数什么也不做)。我认为这个问题是由!!字符,但我不知道这个问题是什么,也不知道如何解决它。我应该怎么做才能避免这个问题?
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();
}
}我如何修复这个错误,这样我的脚本就会从google日历中删除2019年1月发布在'def‘中的所有事件。
发布于 2019-04-11 07:15:19
getCalendarsByName()返回Calendar[],这是一个数组。因此,如果def的日历名称在您的日历中只有一个,那么下面的修改如何?
发自:
var theCalendar = CalendarApp.getCalendarsByName('def');至:
var theCalendar = CalendarApp.getCalendarsByName('def')[0];注意:
参考资料:
编辑1:
关于你的新问题,如果events没有not元素,那么for循环就不能工作。
我认为这可能是你的新问题的原因。请确认这一点。
theCalendar.getEvents(fromDate, toDate)可以检索事件的时间。for循环中的eleteEvent()将起作用。
编辑2:
您可以使用以下脚本检索所有日历的日历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 ###"
},
,
,
,
]https://stackoverflow.com/questions/55622494
复制相似问题