Дополнения Google Workspace могут предоставлять настраиваемые интерфейсы, когда пользователь просматривает или редактирует календари и события Календаря. Это позволяет предоставлять пользователю дополнительную релевантную информацию, автоматизировать задачи и подключать сторонние системы к Календарю Google.
При создании интерфейса надстройки для Google Calendar вы можете предоставить домашнюю страницу . Вы можете использовать одну и ту же домашнюю страницу для нескольких хостов или разработать специальную для Google Calendar.
Ваше дополнение также может определять интерфейс, который появляется, когда у пользователя открыто событие календаря.
Доступ к дополнительному пользовательскому интерфейсу
В зависимости от способа открытия дополнение Google Workspace может определять интерфейс домашней страницы, интерфейс событий Google Календаря, интерфейс выбора вложений или все три:
- Если пользователь нажимает на значок надстройки в представлении календаря, надстройка выполняет соответствующую функцию
calendar.homepageTrigger
(если она присутствует). Эта функция создает и возвращает карточку домашней страницы в Calendar для отображения. Если функцияcalendar.homepageTrigger
не определена, вместо нее отображается общая карточка домашней страницы. - Если пользователь открывает событие Календаря, а затем нажимает на значок дополнения, или дополнение открыто, когда пользователь открывает событие, дополнение выполняет соответствующую функцию
eventOpenTrigger
(если она присутствует). Эта функция создает интерфейс события Календаря дополнения и возвращает его в Google Calendar для отображения. - Если надстройка определяет функцию
eventAttachmentTrigger
, надстройка отображается как поставщик вложений, когда пользователь нажимает Добавить вложение при редактировании события Календаря. Когда надстройка выбрана, функцияeventAttachmentTrigger
создает интерфейс выбора вложений надстройки и возвращает его в Google Calendar для отображения.
Создание интерфейса дополнительного календаря
Вы можете расширить возможности Google Calendar с помощью надстройки Google Workspace, выполнив следующие действия:
- Решите, хотите ли вы, чтобы у вашего дополнения была домашняя страница, связанная с Календарем. Также решите, хотите ли вы предоставить настраиваемый интерфейс, пока пользователь редактирует события Календаря.
- Добавьте соответствующие поля
addOns.common
иaddOns.calendar
в манифест проекта скрипта дополнения, включая все необходимые области действия. - Если вы предоставляете домашнюю страницу , связанную с Календарем, реализуйте функцию
calendar.homepageTrigger
для создания этого интерфейса. Вы также можете использовать интерфейсcommon.homepageTrigger
для нескольких хостов Google Workspace. - Если вы предоставляете интерфейс событий Календаря, вы должны реализовать функцию
calendar.eventOpenTrigger
для построения этого интерфейса. Подробности см. в разделе Расширение интерфейса событий Календаря . - Реализуйте соответствующие функции обратного вызова, необходимые для реагирования на взаимодействия пользователя с пользовательским интерфейсом, такие как нажатия кнопок.
Домашние страницы календаря
Google Calendar поддерживает отображение домашних страниц дополнений Google Workspace. Чтобы отобразить общую домашнюю страницу вашего дополнения в Google Calendar, просто убедитесь, что в манифесте дополнения есть поле addOns.calendar
.
В качестве альтернативы можно добавить calendar.homepageTrigger
в манифест дополнения, чтобы предоставить домашнюю страницу для календаря.
В любом случае вы должны указать имя функции триггера домашней страницы в проекте скрипта вашего дополнения. Эта функция автоматически вызывается для построения домашней страницы Google Calendar, когда это необходимо. Вы должны реализовать эту функцию для построения и возврата одной Card
или массива объектов Card
, составляющих домашнюю страницу. Функция триггера домашней страницы передает объект события в качестве параметра, который содержит некоторую общую информацию, такую как платформа клиента. Вы можете использовать данные объекта события для настройки построения домашней страницы.
Расширение интерфейса событий календаря
Google Calendar использует контекстный триггер для определения того, какой интерфейс (если таковой имеется) отображать, когда пользователь редактирует событие Календаря. Когда триггер срабатывает, он выполняет функцию контекстного триггера, указанную полем calendar.eventOpenTrigger
в манифесте дополнения.
Необходимо реализовать функцию, указанную в поле calendar.eventOpenTrigger
. Эта функция принимает объект события в качестве аргумента и должна возвращать либо один объект Card
, либо массив объектов Card
для отображения Calendar, пока пользователь открывает событие.
Объекты событий
Объект события создается и передается в контекстную функцию триггера calendar.eventOpenTrigger
, когда пользователь открывает событие Календаря. Функция триггера может использовать информацию в этом объекте события, чтобы определить, как создавать карточки дополнений или управлять поведением дополнений. Объекты событий также создаются и передаются в функции homepageTrigger
, когда дополнение впервые открывается, и когда пользователь нажимает или выбирает интерактивные виджеты.
Полная структура объектов событий описана в разделе Объекты событий . Когда Calendar является действующим хост-приложением дополнения, контекстные триггеры и объекты событий взаимодействия виджетов включают поле объекта события Calendar , которое несет специфичную для Calendar клиентскую информацию.
Обновление событий календаря
В дополнение к контекстному calendar.eventOpenTrigger
, который срабатывает, когда пользователь открывает событие Календаря для редактирования, вы также можете определить calendar.eventUpdateTrigger
, который срабатывает, когда пользователь обновляет и сохраняет событие Календаря. Этот триггер срабатывает только в том случае, если пользователь вносит одно или несколько из следующих изменений:
- Добавляет одного или нескольких участников.
- Удаляет одного или нескольких участников.
- Добавляет или переключается на другое решение для конференц-связи.
Когда этот триггер срабатывает, он выполняет функцию триггера, указанную в поле манифеста calendar.eventUpdateTrigger
. Функция выполняется до сохранения редактирования события календаря.
calendar.eventUpdateTrigger
обычно используется для выполнения одного или нескольких из следующих действий:
- Обновите интерфейс событий календаря дополнения в ответ на изменения, внесенные пользователем в события календаря.
- Синхронизируйте данные событий Календаря со сторонней системой, например, с системой конференц-связи, подключенной к Календарю Google.
Если вам нужно, чтобы ваше дополнение вносило изменения в данные события Календаря (например, список участников), вы должны установить поле манифеста calendar.currentEventAccess
дополнения в значение WRITE
или READ_WRITE
. Для этого также требуется, чтобы дополнение имело область действия https://www.googleapis.com/auth/calendar.addons.current.event.write
.
Добавление решений для конференц-связи
Решения для конференций представляют собой сторонние параметры конференций, которые пользователи могут прикреплять к событиям Google Calendar. В документации по обзору сторонних конференций содержатся сведения о том, как создать надстройку, которая добавляет новые решения для конференций. Для этого типа расширения не обязательно создавать пользовательский интерфейс; добавленные решения просто отображаются как параметры в раскрывающемся меню пользовательского интерфейса событий Google Calendar.