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