Триггеры для дополнений Google Workspace

Триггеры 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.
  • Поскольку они определены в манифесте дополнения, а не в коде, вы не можете использовать службу Script Apps Script для их создания или изменения.
  • В Gmail контекстные триггеры срабатывают для каждого электронного письма, независимо от его содержимого.
  • Каждое дополнение может иметь только один триггер каждого типа на пользователя и на документ.