Расширенный сервис календаря позволяет использовать общедоступный API календаря Google в скрипте приложений. Подобно встроенной службе календаря 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)
который определен в приведенных выше примерах.