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

Простые и устанавливаемые триггеры позволяют 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

Значение из перечисления ScriptApp.AuthMode .

LIMITED
source

Объект Spreadsheet , представляющий файл Google Sheets, к которому привязан скрипт.

Spreadsheet
triggerUid

Идентификатор триггера, вызвавшего это событие (только для устанавливаемых триггеров).

4034124084959907503
user

Объект User , представляющий активного пользователя, если он доступен ( в зависимости от сложного набора ограничений безопасности ).

amin@example.com

Изменять

( устанавливаемый )
authMode

Значение из перечисления ScriptApp.AuthMode .

FULL
changeType

Тип изменения ( EDIT , INSERT_ROW , INSERT_COLUMN , REMOVE_ROW , REMOVE_COLUMN , INSERT_GRID , REMOVE_GRID , FORMAT или OTHER ).

INSERT_ROW
source

Объект Spreadsheet , представляющий файл Google Sheets, к которому привязан скрипт.

Spreadsheet
triggerUid

Идентификатор триггера, вызвавшего это событие.

4034124084959907503
user

Объект User , представляющий активного пользователя, если он доступен ( в зависимости от сложного набора ограничений безопасности ).

amin@example.com

Редактировать

( простой и устанавливаемый )
authMode

Значение из перечисления ScriptApp.AuthMode .

LIMITED
oldValue

Значение ячейки до редактирования, если таковое имеется. Доступно только в том случае, если редактируемый диапазон представляет собой одну ячейку. Будет неопределенным, если в ячейке не было предыдущего содержимого.

1234
range

Объект Range , представляющий редактируемую ячейку или диапазон ячеек.

Range
source

Объект Spreadsheet , представляющий файл Google Sheets, к которому привязан скрипт.

Spreadsheet
triggerUid

Идентификатор триггера, вызвавшего это событие (только для устанавливаемых триггеров).

4034124084959907503
user

Объект User , представляющий активного пользователя, если он доступен ( в зависимости от сложного набора ограничений безопасности ).

amin@example.com
value

Новое значение ячейки после редактирования. Доступно только в том случае, если редактируемый диапазон представляет собой одну ячейку.

10

Отправка формы

( устанавливаемый )
authMode

Значение из перечисления ScriptApp.AuthMode .

FULL
namedValues

Объект, содержащий имена и значения вопросов из отправки формы.

{
  'First Name': ['Jane'],
  'Timestamp': ['6/7/2015 20:54:13'],
  'Last Name': ['Doe']
}
range

Объект Range , представляющий редактируемую ячейку или диапазон ячеек.

Range
triggerUid

Идентификатор триггера, вызвавшего это событие.

4034124084959907503
values

Массив со значениями в том же порядке, в котором они указаны в электронной таблице.

['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill',
'28', 'Susan', '25']

Мероприятия Google Документов

Триггеры позволяют Документам Google реагировать, когда пользователь открывает документ.

Открыть

( простой и устанавливаемый )
authMode

Значение из перечисления ScriptApp.AuthMode .

LIMITED
source

Объект Document , представляющий файл Документов Google, к которому привязан скрипт.

Document
triggerUid

Идентификатор триггера, вызвавшего это событие (только для устанавливаемых триггеров).

4034124084959907503
user

Объект User , представляющий активного пользователя, если он доступен ( в зависимости от сложного набора ограничений безопасности ).

amin@example.com

Мероприятия Google Презентации

Триггеры позволяют Google Slides реагировать, когда пользователь открывает презентацию.

Открыть

( простой )
authMode

Значение из перечисления ScriptApp.AuthMode .

LIMITED
source

Объект Presentation , представляющий файл Google Slides, к которому привязан скрипт.

Presentation
user

Объект User , представляющий активного пользователя, если он доступен ( в зависимости от сложного набора ограничений безопасности ).

amin@example.com

События Google Форм

Триггеры, специфичные для Google Forms, позволяют сценариям реагировать, когда пользователь редактирует форму или отправляет ответ.

Открыть

* ( простой и устанавливаемый )
authMode

Значение из перечисления ScriptApp.AuthMode .

LIMITED
source

Объект Form , представляющий файл Google Forms, к которому привязан скрипт.

Form
triggerUid

Идентификатор триггера, вызвавшего это событие (только для устанавливаемых триггеров).

4034124084959907503
user

Объект User , представляющий активного пользователя, если он доступен ( в зависимости от сложного набора ограничений безопасности ).

amin@example.com

* Это событие происходит не тогда, когда пользователь открывает форму для ответа, а когда редактор открывает форму, чтобы изменить ее.

Отправка формы

( устанавливаемый )
authMode

Значение из перечисления ScriptApp.AuthMode .

FULL
response

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

FormResponse
source

Объект Form , представляющий файл Google Forms, к которому привязан скрипт.

Form
triggerUid

Идентификатор триггера, вызвавшего это событие.

4034124084959907503

События Календаря Google

Триггеры календаря срабатывают, когда события календаря пользователя обновляются (создаются, редактируются или удаляются).

Эти триггеры не сообщают вам, какое событие изменилось или как оно изменилось. Вместо этого они указывают, что вашему коду необходимо выполнить операцию добавочной синхронизации, чтобы получить последние изменения в календаре. Полное описание этой процедуры см. в руководстве Синхронизация ресурсов для Calendar API .

Чтобы синхронизировать с Календарем в Apps Script, выполните следующие действия:

  1. Включите расширенную службу календаря для проекта сценария. Встроенной службы календаря недостаточно для этого рабочего процесса.
  2. Определите, какие календари следует синхронизировать. Для каждого такого календаря выполните первоначальную операцию синхронизации с помощью метода Events.list() расширенной службы календаря.
  3. Результат начальной синхронизации возвращает nextSyncToken для этого календаря. Сохраните этот токен для дальнейшего использования.
  4. Когда срабатывает триггер Apps Script EventUpdated , указывающий на изменение события календаря, выполните добавочную синхронизацию для затронутого календаря, используя сохраненный nextSyncToken . По сути, это еще один запрос Events.list() , но предоставление nextSyncToken ограничивает ответ только событиями, которые изменились с момента последней синхронизации.
  5. Изучите ответ синхронизации, чтобы узнать, какие события были обновлены, и отреагировать соответствующим образом. Например, вы можете зарегистрировать изменение, обновить электронную таблицу, отправить уведомления по электронной почте или выполнить другие действия.
  6. Обновите nextSyncToken который вы сохранили для этого календаря, на тот, который возвращается по запросу добавочной синхронизации. Это заставляет следующую операцию синхронизации возвращать только самые последние изменения.

СобытиеОбновлено

( устанавливаемый )
authMode

Значение из перечисления ScriptApp.AuthMode .

FULL
calendarId

Строковый идентификатор календаря, в котором произошло обновление события.

susan@example.com
triggerUid

Идентификатор триггера, вызвавшего это событие.

4034124084959907503

Мероприятия по дополнению Google Workspace

Триггер onInstall() запускается автоматически, когда пользователь устанавливает надстройку .

Установить

( простой )
authMode

Значение из перечисления ScriptApp.AuthMode .

FULL

События приложения Google Chat

Дополнительные сведения об объектах событий в Google Chat см. в разделе Получение и ответ на взаимодействие с вашим приложением Google Chat .

События, управляемые временем

Триггеры, управляемые временем (также называемые триггерами часов), позволяют сценариям выполняться в определенное время или через повторяющийся интервал.

Управляемый временем ( устанавливаемый )
authMode

Значение из перечисления ScriptApp.AuthMode .

FULL
day-of-month

От 1 до 31 .

Поскольку имя этого свойства содержит дефисы, доступ к нему должен осуществляться через e['day-of-month'] а не через точку.

31
day-of-week

С 1 (понедельник) до 7 (воскресенье).

Поскольку имя этого свойства содержит дефисы, доступ к нему должен осуществляться через e['day-of-week'] а не через точку.

7
hour

От 0 до 23 .

23
minute

От 0 до 59 .

59
month

От 1 до 12 .

12
second

От 0 до 59 .

59
timezone

Часовой пояс.

UTC
triggerUid

Идентификатор триггера, вызвавшего это событие.

4034124084959907503
week-of-year

От 1 до 52 .

Поскольку имя этого свойства содержит дефисы, доступ к нему должен осуществляться через e['week-of-year'] а не через точку.

52
year

Год.

2015