Триггеры сценариев приложений вызывают выполнение указанной функции сценария ( функции триггера ) при каждом возникновении указанного события. Только определенные события могут вызвать срабатывание триггеров, и каждое приложение Google Workspace поддерживает свой набор событий.
При срабатывании триггера создается объект события . Эта структура JSON содержит сведения о произошедшем событии. Информация в структуре объекта события организована по-разному в зависимости от типа триггера.
После создания объекта события Apps Script передает его в качестве параметра триггерной функции. Триггерная функция — это функция обратного вызова, которую вы должны реализовать самостоятельно, чтобы предпринять необходимые действия для реагирования на событие. Например, в надстройке Google Workspace, расширяющей Gmail, вы можете определить триггер, который создает новый интерфейс карты, когда пользователь открывает цепочку сообщений. В этом случае вы реализуете контекстную функцию обратного вызова для создания карточек, составляющих новый пользовательский интерфейс, с использованием данных, переданных в объекте события .
На этой странице представлены рекомендации по использованию триггеров в проектах надстроек Google Workspace.
Манифестные триггеры
В отличие от надстроек редактора, надстройки Google Workspace в настоящее время не могут использовать простые триггеры Apps Script. Вместо этого они используют триггеры, разработанные специально для надстроек Google Workspace: триггеры манифеста .
Триггеры манифеста полностью определены в манифесте надстройки Google Workspace. Примеры триггеров манифеста включают следующее:
- Триггеры домашней страницы , которые создают и отображают домашнюю страницу надстройки.
- Триггеры Calendar eventOpen , которые отображают новую карточку или выполняют другие действия при открытии события календаря.
- Триггеры Calendar eventUpdate , которые отображают новую карточку или выполняют другие действия, когда пользователь редактирует и сохраняет событие календаря.
- Триггеры Drive onItemsSelected , которые отображают новую карточку или выполняют другие действия, когда пользователь выбирает один или несколько файлов или папок на Диске.
- Триггеры создания Gmail , которые отображают дополнительную карточку, когда пользователь открывает надстройку в окне создания Gmail.
- Контекстные триггеры Gmail , которые отображают новую карточку или выполняют другие действия, когда пользователь открывает сообщение Gmail.
- Триггеры Editor onFileScopeGranted отображают новую карту, когда пользователи предоставляют авторизацию для области OAuth
drive.file
в текущем документе редактора.
В приведенном выше списке только триггеры домашней страницы являются неконтекстными; остальные являются контекстными триггерами. Дополнительные сведения об определениях триггеров манифеста см. в разделе Манифест.
Помимо триггеров манифеста, надстройки Google Workspace также могут использовать устанавливаемые триггеры Apps Script.
Ограничения
Триггеры манифеста имеют определенные ограничения на использование.
- Эти триггеры используются только в проектах надстроек Google Workspace; они не имеют смысла ни в каком другом приложении.
- Поскольку они определены в манифесте надстройки, а не в ее коде, вы не можете использовать службу Apps Script
Script
для создания или изменения этих триггеров. - Контекстные триггеры Gmail в настоящее время могут иметь только
unconditional
критерии. Это означает, что контекстные триггеры срабатывают для каждого сообщения электронной почты, независимо от его содержания. - Каждая надстройка может иметь только один триггер каждого типа для каждого пользователя и для каждого документа.