Изменить события в календаре, чтобы они стали повторяющимися - PullRequest
0 голосов
/ 31 января 2019

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

ПРИМЕЧАНИЕ. В настоящее время у меня просто есть мой код, ищущий одно конкретное событие под названием "Джон bday", но я вычеркну оператор "if", как только я получу его, чтобы правильно изменить существующее событие.Пожалуйста, сообщите и спасибо.

function myFunction() {

  var fromDate = new Date(2019,0,1,0,0,0); //This is January 1, 2019
  var toDate = new Date(2019,2,31,0,0,0); //This is March 31, 2019
  var calname = "testing calendar";
  var findtitle = "john bday";
  var calendar = CalendarApp.getCalendarsByName(calname)[0];
  var events = calendar.getEvents(fromDate,toDate);
  for (var i=0; i<events.length;i++) {
    var ev = events[i];
    if (ev.getTitle()==findtitle) {
      CalendarApp.newRecurrence().addYearlyRule();
    }
  }
}

1 Ответ

0 голосов
/ 31 января 2019

Мне удалось заставить его работать, скопировав событие в новую серию и затем удалив исходное событие.Спасибо всем, кто взглянул на это.

function myFunction() {

  var fromDate = new Date(2018,6,1,0,0,0); //This is July 1, 2018
  var toDate = new Date(2019,0,31,0,0,0); //This is January 31, 2019
  var calname = "testing calendar";
  var calendar = CalendarApp.getCalendarsByName(calname)[0];
  var events = calendar.getEvents(fromDate,toDate);
  var newRecurrence = CalendarApp.newRecurrence().addYearlyRule();
  for (var i in events){
  var ev = events[i];
     var newEvent = calendar.createEventSeries(events[i].getTitle(), events[i].getStartTime(), events[i].getEndTime(), newRecurrence)
      ev.deleteEvent();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...