Создание интерфейсов Google Календаря

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

НадстройкиGoogle Workspace могут предоставлять настраиваемые интерфейсы, когда пользователь просматривает или редактирует календари и события календаря. Это позволяет предоставлять пользователю дополнительную актуальную информацию, автоматизировать задачи и подключать сторонние системы к Календарю Google.

При создании дополнительного интерфейса для Календаря Google вы можете указать домашнюю страницу . Вы можете использовать одну и ту же домашнюю страницу для нескольких хостов или создать отдельную для Календаря Google.

Ваше дополнение также может определить интерфейс, который появляется, когда у пользователя открыто событие календаря.

Доступ к пользовательскому интерфейсу надстройки

В зависимости от того, как оно открывается, надстройка Google Workspace может определять интерфейс домашней страницы, интерфейс событий календаря, интерфейс выбора вложений или все три:

  • Если пользователь щелкает значок надстройки в представлении календаря, надстройка выполняет соответствующую функцию calendar.homepageTrigger (если она присутствует). Эта функция создает и возвращает карточку домашней страницы в Календарь Google для отображения. Если функция calendar.homepageTrigger не определена, вместо нее отображается общая карточка домашней страницы.
  • Если пользователь открывает событие календаря, а затем щелкает значок надстройки, или надстройка открыта, когда пользователь открывает событие, надстройка выполняет соответствующую функцию eventOpenTrigger (если она присутствует). Эта функция создает интерфейс событий Календаря надстройки и возвращает его в Календарь Google для отображения.
  • Если надстройка определяет функцию eventAttachmentTrigger , надстройка отображается как поставщик вложений, когда пользователь нажимает Добавить вложение при редактировании события календаря. Когда надстройка выбрана, функция eventAttachmentTrigger создает интерфейс выбора вложения надстройки и возвращает его в Календарь Google для отображения.

Создание интерфейса календаря надстройки

Вы можете расширить Календарь Google с помощью надстройкиGoogle Workspace , выполнив следующие действия:

  1. Решите, хотите ли вы, чтобы ваше дополнение имело домашнюю страницу Календаря . Также решите, хотите ли вы предоставить настраиваемый интерфейс, когда пользователь редактирует события календаря.
  2. Добавьте соответствующие addOns.common и addOns.calendar в манифест проекта скрипта надстройки, включая все необходимые области .
  3. Если вы предоставляете домашнюю страницу для календаря, реализуйте функцию calendar.homepageTrigger для создания этого интерфейса. Вы также можете использовать интерфейс common.homepageTrigger для нескольких хостов Google Workspace .
  4. Если вы предоставляете интерфейс события календаря, вы должны реализовать функцию calendar.eventOpenTrigger для создания этого интерфейса. Дополнительные сведения см. в разделе Расширение интерфейса событий календаря .
  5. Реализуйте связанные функции обратного вызова, необходимые для реагирования на взаимодействие пользователя с пользовательским интерфейсом, например на нажатия кнопок.

Домашние страницы календаря

Календарь Google поддерживает отображение домашних страниц надстроек Google Workspace. Чтобы показать общую домашнюю страницу надстройки в Календаре Google, просто убедитесь, что в манифесте надстройки есть поле addOns.calendar .

В качестве альтернативы добавьте calendar.homepageTrigger в манифест надстройки, чтобы предоставить домашнюю страницу для календаря.

В любом случае вы должны указать имя триггерной функции домашней страницы в проекте скрипта надстройки. Эта функция автоматически вызывается для создания домашней страницы календаря, когда это необходимо. Вы должны реализовать эту функцию для создания и возврата одной Card или массива объектов Card , составляющих домашнюю страницу. Триггерной функции домашней страницы передается объект события в качестве параметра, который содержит некоторую общую информацию, такую ​​как платформа клиента. Вы можете использовать данные объекта события, чтобы адаптировать структуру домашней страницы.

Расширение интерфейса событий календаря

Календарь Google полагается на контекстный триггер, чтобы определить, какой интерфейс (если есть) отображать, когда пользователь редактирует событие Календаря. Когда триггер срабатывает, он выполняет контекстную функцию триггера, указанную в поле calendar.eventOpenTrigger в манифесте надстройки.

Вы должны реализовать функцию, указанную в поле calendar.eventOpenTrigger . Эта функция принимает объект события в качестве аргумента и должна возвращать либо один объект Card , либо массив объектов Card для отображения календаря, когда у пользователя открыто событие.

Объекты событий

Объект события создается и передается функции контекстного триггера calendar.eventOpenTrigger , когда пользователь открывает событие календаря. Функция триггера может использовать информацию в этом объекте события, чтобы определить, как создавать дополнительные карты или управлять поведением дополнений. Объекты событий также создаются и передаются функциям homepageTrigger при первом открытии надстройки и когда пользователь щелкает или выбирает интерактивные виджеты.

Полная структура объектов событий описана в Объекты событий . Когда Календарь является действующим ведущим приложением надстройки, контекстные объекты событий взаимодействия с триггером и виджетом включают поле объекта события Календарь , в котором содержится информация о клиенте, относящаяся к Календарю.

Обновление событий календаря

В дополнение к контекстному 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. Обзорная документация по сторонним конференциям содержит подробные сведения о том, как создать надстройку, добавляющую новые решения для конференц-связи. Для этого типа расширения нет необходимости создавать пользовательский интерфейс; добавленные решения просто отображаются как параметры в раскрывающемся меню пользовательского интерфейса событий Календаря Google.