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