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