getCalendarsByName()
возвращает Calendar[]
, который является массивом. Так что, если название календаря def
только одно в ваших календарях, как насчет следующей модификации?
От:
var theCalendar = CalendarApp.getCalendarsByName('def');
Кому:
var theCalendar = CalendarApp.getCalendarsByName('def')[0];
Примечание:
- Если у вас несколько календарей с одним и тем же именем, я рекомендую использовать идентификатор календаря.
- В качестве точки, когда имя метода видно, обнаруживается, что «Calendars» для «getCalendarsByName» является множественным числом. При этом он может заметить, что будет возвращено несколько значений.
Справка:
Редактировать 1:
По поводу вашего нового вопроса, если events
не имеет элементов, цикл for не работает.
Я думаю, что это может быть причиной вашей новой проблемы. Пожалуйста, подтвердите это.
Когда события могут быть получены с помощью theCalendar.getEvents(fromDate, toDate)
. eleteEvent()
в цикле for будет работать.
Редактировать 2:
Вы можете получить идентификаторы и имена календарей всех календарей, используя следующий скрипт.
Пример сценария:
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 ###"
},
,
,
,
]