Простые и устанавливаемые триггеры позволяют Apps Script автоматически запускать функцию при возникновении определенного события. Когда срабатывает триггер, Apps Script передает функции объект события в качестве аргумента, обычно называемого e
. Объект события содержит информацию о контексте, вызвавшем срабатывание триггера. Например, в приведенном ниже примере кода показан простой триггер onEdit(e)
для сценария Google Sheets, который использует объект события для определения того, какая ячейка была отредактирована.
function onEdit(e){
// Set a comment on the edited cell to indicate when it was changed.
var range = e.range;
range.setNote('Last modified: ' + new Date());
}
На этой странице подробно описаны поля объекта события для различных типов триггеров.
События Google Таблиц
Различные триггеры, специфичные для Google Таблиц, позволяют сценариям реагировать на действия пользователя в электронной таблице.
Открыть( простой и устанавливаемый ) | |
---|---|
authMode | Значение из перечисления LIMITED |
source | Объект Spreadsheet |
triggerUid | Идентификатор триггера, вызвавшего это событие (только для устанавливаемых триггеров). 4034124084959907503 |
user | Объект amin@example.com |
Изменять( устанавливаемый ) | |
---|---|
authMode | Значение из перечисления FULL |
changeType | Тип изменения ( INSERT_ROW |
source | Объект Spreadsheet |
triggerUid | Идентификатор триггера, вызвавшего это событие. 4034124084959907503 |
user | Объект amin@example.com |
Редактировать( простой и устанавливаемый ) | |
---|---|
authMode | Значение из перечисления LIMITED |
oldValue | Значение ячейки до редактирования, если таковое имеется. Доступно только в том случае, если редактируемый диапазон представляет собой одну ячейку. Будет неопределенным, если в ячейке не было предыдущего содержимого. 1234 |
range | Объект Range |
source | Объект Spreadsheet |
triggerUid | Идентификатор триггера, вызвавшего это событие (только для устанавливаемых триггеров). 4034124084959907503 |
user | Объект amin@example.com |
value | Новое значение ячейки после редактирования. Доступно только в том случае, если редактируемый диапазон представляет собой одну ячейку. 10 |
Отправка формы( устанавливаемый ) | |
---|---|
authMode | Значение из перечисления FULL |
namedValues | Объект, содержащий имена и значения вопросов из отправки формы. { 'First Name': ['Jane'], 'Timestamp': ['6/7/2015 20:54:13'], 'Last Name': ['Doe'] } |
range | Объект Range |
triggerUid | Идентификатор триггера, вызвавшего это событие. 4034124084959907503 |
values | Массив со значениями в том же порядке, в котором они указаны в электронной таблице. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Мероприятия Google Документов
Триггеры позволяют Документам Google реагировать, когда пользователь открывает документ.
Открыть( простой и устанавливаемый ) | |
---|---|
authMode | Значение из перечисления LIMITED |
source | Объект Document |
triggerUid | Идентификатор триггера, вызвавшего это событие (только для устанавливаемых триггеров). 4034124084959907503 |
user | Объект amin@example.com |
Мероприятия Google Презентации
Триггеры позволяют Google Slides реагировать, когда пользователь открывает презентацию.
Открыть( простой ) | |
---|---|
authMode | Значение из перечисления LIMITED |
source | Объект Presentation |
user | Объект amin@example.com |
События Google Форм
Триггеры, специфичные для Google Forms, позволяют сценариям реагировать, когда пользователь редактирует форму или отправляет ответ.
Открыть* ( простой и устанавливаемый ) | |
---|---|
authMode | Значение из перечисления LIMITED |
source | Объект Form |
triggerUid | Идентификатор триггера, вызвавшего это событие (только для устанавливаемых триггеров). 4034124084959907503 |
user | Объект amin@example.com |
* Это событие происходит не тогда, когда пользователь открывает форму для ответа, а когда редактор открывает форму, чтобы изменить ее.
Отправка формы( устанавливаемый ) | |
---|---|
authMode | Значение из перечисления FULL |
response | Объект FormResponse |
source | Объект Form |
triggerUid | Идентификатор триггера, вызвавшего это событие. 4034124084959907503 |
События Календаря Google
Триггеры календаря срабатывают, когда события календаря пользователя обновляются (создаются, редактируются или удаляются).
Эти триггеры не сообщают вам, какое событие изменилось или как оно изменилось. Вместо этого они указывают, что вашему коду необходимо выполнить операцию добавочной синхронизации, чтобы получить последние изменения в календаре. Полное описание этой процедуры см. в руководстве Синхронизация ресурсов для Calendar API .
Чтобы синхронизировать с Календарем в Apps Script, выполните следующие действия:
- Включите расширенную службу календаря для проекта сценария. Встроенной службы календаря недостаточно для этого рабочего процесса.
- Определите, какие календари следует синхронизировать. Для каждого такого календаря выполните первоначальную операцию синхронизации с помощью метода Events.list() расширенной службы календаря.
- Результат начальной синхронизации возвращает
nextSyncToken
для этого календаря. Сохраните этот токен для дальнейшего использования. - Когда срабатывает триггер Apps Script
EventUpdated
, указывающий на изменение события календаря, выполните добавочную синхронизацию для затронутого календаря, используя сохраненныйnextSyncToken
. По сути, это еще один запрос Events.list() , но предоставлениеnextSyncToken
ограничивает ответ только событиями, которые изменились с момента последней синхронизации. - Изучите ответ синхронизации, чтобы узнать, какие события были обновлены, и отреагировать соответствующим образом. Например, вы можете зарегистрировать изменение, обновить электронную таблицу, отправить уведомления по электронной почте или выполнить другие действия.
- Обновите
nextSyncToken
который вы сохранили для этого календаря, на тот, который возвращается по запросу добавочной синхронизации. Это заставляет следующую операцию синхронизации возвращать только самые последние изменения.
СобытиеОбновлено( устанавливаемый ) | |
---|---|
authMode | Значение из перечисления FULL |
calendarId | Строковый идентификатор календаря, в котором произошло обновление события. susan@example.com |
triggerUid | Идентификатор триггера, вызвавшего это событие. 4034124084959907503 |
Мероприятия по дополнению Google Workspace
Триггер onInstall()
запускается автоматически, когда пользователь устанавливает надстройку .
Установить( простой ) | |
---|---|
authMode | Значение из перечисления FULL |
События приложения Google Chat
Дополнительные сведения об объектах событий в Google Chat см. в разделе Получение и ответ на взаимодействие с вашим приложением Google Chat .
События, управляемые временем
Триггеры, управляемые временем (также называемые триггерами часов), позволяют сценариям выполняться в определенное время или через повторяющийся интервал.
Управляемый временем ( устанавливаемый ) | |
---|---|
authMode | Значение из перечисления FULL |
day-of-month | От Поскольку имя этого свойства содержит дефисы, доступ к нему должен осуществляться через 31 |
day-of-week | С Поскольку имя этого свойства содержит дефисы, доступ к нему должен осуществляться через 7 |
hour | От 23 |
minute | От 59 |
month | От 12 |
second | От 59 |
timezone | Часовой пояс. UTC |
triggerUid | Идентификатор триггера, вызвавшего это событие. 4034124084959907503 |
week-of-year | От Поскольку имя этого свойства содержит дефисы, доступ к нему должен осуществляться через 52 |
year | Год. 2015 |