google-apps-script |Удалить все события за месяц - PullRequest
0 голосов
/ 28 февраля 2019

Я пишу скрипт для удаления каждого события из каждого из моих календарей за один месяц.Мой код:

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 = ['cal1', 'cal2', 'cal3','cal4','cal5','cal6'];

 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();
  }

}

}

Когда я запускаю свой код, я получаю следующую ошибку:

TypeError: Невозможно вызвать метод "getEvents" из неопределенного.(строка 13, файл "Код")

Я не запускаю getEvents () для объекта календаря?Почему этот код выдает ошибку при попытке использовать эту функцию?

1 Ответ

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

Попробуйте это:

Я удалил deleteEvents, потому что я не хочу удалять свои события.Но этот код выдает Имя календаря, Название события, Время начала события и Время окончания события для всего события в данный период.

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 = ['You'll have to put your calendar names back in here.']
  var html='';
  for (var x=0;x<calendars.length;x++) {
    var calendar = CalendarApp.getCalendarsByName(calendars[x]);
    var events = calendar[0].getEvents(fromDate, toDate);
    for(var i = 0; i < events.length; i++){
      var ev = events[i];
      html+=Utilities.formatString('<br />Calendar Name: %s<br />EventTitle: %s<br />EventStartTime: %s<br />Event End Time: %s',calendar[0].getName(),events[i].getTitle(),events[i].getStartTime(),events[i].getEndTime() );
    } 
  } 
  var userInterface=HtmlService.createHtmlOutput(html);
  SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Calendar Events')
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...