Могу ли я удалить ряд событий в моем Календаре Google без отправки уведомлений? - PullRequest
2 голосов
/ 25 апреля 2020

Я использовал этот код для удаления событий из Календаря Google

var fromDate = new Date(2013,0,1,0,0,0);
var toDate = new Date(2013,0,4,0,0,0);
var calendarName = 'My Calendar';

// delete from Jan 1 to end of Jan 4, 2013

var calendar = CalendarApp.getCalendarsByName(calendarName)[0];
var events = calendar.getEvents(fromDate, toDate);
for(var i=0; i<events.length;i++){
  var ev = events[i];
  Logger.log(ev.getTitle()); // show event name in log
  ev.deleteEvent();
}

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

1 Ответ

0 голосов
/ 27 апреля 2020

Проблема:

Вы можете изменить настройки уведомлений и, в частности, отключить уведомления об отмененных событиях через пользовательский интерфейс, выбрав Настройки и общий доступ и в Другие уведомления , настройка Canceled events на None.

Если я правильно вас понимаю, вы хотите сделать это программно, используя Apps Script.

Решение:

Насколько я знаю, встроенного скрипта Apps нет. в методе управления этими настройками. По этой причине вам следует включить Advanced Calendar Service и использовать методы API-интерфейса Календаря.

В Calendar API уведомления управляются свойством notificationSettings из ресурса CalendarList . Чтобы изменить эти настройки, вы должны использовать метод CalendarList: patch , который можно использовать для обновления существующего календаря.

Пример кода:

function disableNotifications() {
  var calendarId = "your-calendar-id";
  var resource = {
    notificationSettings: {
      notifications: [
        {
          type: "eventCreation",
          method: "email"
        },
        {
          type: "eventChange",
          method: "email"
        }
      ]
    }
  }
  Calendar.CalendarList.patch(resource, calendarId);
}

Примечание :

  • Например, в приведенном выше примере будут отключены все типы уведомлений для этого календаря, кроме eventCreation и eventChange. Вы можете адаптировать это к своим предпочтениям, добавляя или удаляя типы ( здесь - возможные типы).

Ссылка:

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