Чтение названных событий календаря - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь написать скрипт, который удаляет все события из каждого календаря за определенный месяц.На основании этого метода похоже, что я использую правильный код, но каждый раз, когда я пытаюсь запустить этот код, я получаю сообщение об ошибке,

TypeError: Не удается найти функцию getEventsв объекте Календарь.(строка 17, файл "Код")

Мой код:

function myFunction() {  
  var year = 2018;
  var month = 11;

  var fromDate = new Date(year,month,1,0,0,0);
  var toDate = new Date(year,month,28,0,0,0);

  var calendars = ['def', 'Appointments', 'Chores', 'Contacts', 'Dates', 'Errand', 'IMPORTANT!!', 'Scheduling','Time-Sensitive', 'TV Show', 'Work'];

  for (var x = 0; x < calendars.length; x++) {  
    var calendar = CalendarApp.getCalendarsByName(calendars[x])[0];
    var events = calendar.getEvents(fromDate, toDate);

    for (var i = 0; i < events.length; i++) {
      var ev = events[i];
      ev.deleteEvent();
    }
  }
}

Кто-нибудь знает, что я делаю неправильно?

1 Ответ

0 голосов
/ 26 февраля 2019

Проблема в том, что CalendarApp.getCalendarsByName(calendars[x]); возвращает массив.Чтобы получить доступ даже к первому и единственному элементу в массиве, вы можете сделать это: var calendar=CalendarApp.getCalendarsByName(calendars[x])[0];, так что теперь переменная calendar теперь является календарем, а не массивом календарей.

Вот форма сценария сценария I 'м с использованием:

function myFunction101() {  
  var year=2018;
  var month=11;
  var fromDate=new Date(year,month,1,0,0,0);
  var toDate=new Date(year,month,28,0,0,0);
  var calendars=['', ''];//using my calendars
  for(var x=0;x<calendars.length;x++) {
    var calendar=CalendarApp.getCalendarsByName(calendars[x])[0];
    var events=calendar.getEvents(fromDate, toDate);
    for(var i = 0; i < events.length; i++){
      var ev = events[i];
      Logger.log(ev.getTitle());
      //ev.deleteEvent();
    }

  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...