Скрипт для доступа и изменения пользовательских календарей с дополнительными функциями.
Расширенная служба «Календарь» позволяет использовать общедоступный API Google Календаря в Google Apps Script. Подобно встроенной службе «Календарь» в Apps Script, этот API позволяет скриптам получать доступ к календарю Google пользователя и изменять его, включая дополнительные календари, на которые пользователь подписан. В большинстве случаев встроенная служба проще в использовании, но эта расширенная служба предоставляет несколько дополнительных функций, включая настройку цвета фона для отдельных событий.
Это расширенная услуга, которую необходимо активировать перед использованием .
Ссылка
Подробную информацию об этой службе см. в справочной документации по общедоступному API календаря. Как и все расширенные службы в Apps Script, расширенная служба календаря использует те же объекты, методы и параметры, что и общедоступный API. Дополнительную информацию см. в разделе «Как определяются сигнатуры методов» .
Чтобы сообщить о проблемах и получить другую поддержку, см. руководство по поддержке календаря .
Заголовки HTTP-запроса
Расширенная служба календаря может принимать заголовки HTTP-запроса If-Match и If-None-Match . Подробности см. в справочной документации .
Пример кода
В приведенном ниже примере кода используется версия 3 API.
Создание событий
В следующем примере показано, как создать событие в календаре пользователя по умолчанию.
Календари объявлений
В следующем примере показано, как получить подробную информацию о календарях, отображаемых в списке календарей пользователя.
Список событий
В следующем примере показано, как отобразить список из 10 предстоящих событий в календаре пользователя по умолчанию.
Условное изменение события
В следующем примере показано, как условно обновлять событие календаря с помощью заголовка If-Match . Скрипт создает новое событие, ждет 30 секунд, а затем обновляет событие только в том случае, если с момента его создания никакие данные события не изменились.
Условное извлечение события
В следующем примере показано, как условно получать событие календаря, используя заголовок If-None-Match . Скрипт создает новое событие, а затем в течение 30 секунд отслеживает его изменения. При каждом изменении события загружается новая версия.
Синхронизация событий
В следующем примере показано, как получать события с помощью токенов синхронизации. При включении токена синхронизации в запрос расширенной службы календаря, полученный ответ будет содержать только те элементы, которые изменились с момента генерации этого токена, что обеспечивает более эффективную обработку. Дополнительные сведения о процессе синхронизации см. в разделе «Эффективная синхронизация ресурсов» .
В следующем примере используется тот же метод getRelativeDate(daysOffset, hour) что и в предыдущих примерах.