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