К основному контенту

Триггеры Google Apps Script


Все триггеры в скриптах делятся по виду события, типу установки и области применения.

Области применения

  • Таблицы
  • Формы
  • Документы
  • Сайты
  • Автономные скрипты 

События

  • Open - происходит при открытии файла в приложении Гугл. Например, Формы создают это событие только при открытии в режиме редактирвоания.
  • Edit - происходит при завершении ввода данных в ячейку Таблицы пользователем. Только Таблицы. Только пользователем.
  • Install - автоматически вызывается при установке дополнения.
  • Change - возникает при других (не изменение данных ячейки, например, назначение цвета или ширины колонки) изменених Таблицы вызванных пользователем. Только Таблицы. Только пользователем.
  • Form submit - исполнится только тогда, когда придет ответ от респондента Формы.
  • Time-driven - отложенный триггер действия, срабатывающий по истечении времени
  • Get - событие отрабатывающее get-запросы к веб-приложению
  • Post - событие отрабатывающее post-запросы к веб-приложению

Типы установок

  • Simple triggers - триггеры, которые отрабатывают для каждого пользователя, который вызовет приложение. Обладают низким разрешениями. Неспособны на редактирование, т.к. не знают своего "владельца" и, как следствие, не имеют прав на большинство действий в системе. Простые триггеры в коде обозначаются специальными зарегистрированными функциями
    • function onOpen(e)
    • function onEdit(e)
    • function onInstall(e)
    • function doGet(e)
    • function doPost(e)
  • Installable triggers - триггеры, которые зарегистрированы для конкретного пользователя. Исполняются с полными правами того, для кого они зарегистрированы. Можно говорить, что код будет выполнен так, как будто это сделал сам пользователь. Такие триггеры можно зарегистрировать через меню проекта или программно.
Актуальные области применений можно увидеть в сводной таблице документации https://developers.google.com/apps-script/guides/triggers/#available_types_of_triggers

Комментарии

Популярные сообщения из этого блога

Удаление строк по условию

Часто возникает задача удаления строк из Таблицы Google по какому-либо условию. Разнообразие условий так велико, что порой приходится создавать метод "удаления строк" снова и снова. Довольно утомительно. Для простых офсных скриптов можно применить сниппет, описанный ниже. Основная идея заключается в том, чтобы взять весь массив данных и перебрать его в обратном порядке. При переборе каждая строка передается в функцию обратного вызова, которая принимет решение удалить строку или нет. Для оптимизации количество последовательных строк суммируется, и для удаления применяется метод deleteRows(rowPosition, howMany) класса Sheet В примере ниже скрипт удаляет строки автивного листа, в которых ячейки из диапазона D27:D77 и F27:F77 попарно пустые

Определения и области применения триггеров событий Edit и Change

В этой статье рассмотрены два триггера событий Edit и Change . Определения Важное замечание. Оба события происходят только при прямых действиях пользователей в Таблицах. Т.о. действие триггера или дискретной функции не может сгенерировать после себя событие. Edit - событие широкого применения, которое происходит, когда изменяется значение диапазона Таблицы. Очень важно понять, что изменение касается только данных Таблицы и только в случае, если событие-инициатор произведено пользователем . Change - событие, которое возникает при изменении контента или структуры самой Таблицы . Например, изменение цвета, размера ячейки, удаление, создание или перемещение листа. Области применения Триггер события Edit используется как простой onEdit  и как устанавливаемый (регистрируемый) триггер. Это означает, что он может быть вызван как любым редактором, так и создателем триггера. Событие Change может быть связано только регистрируемым триггером. Аргументы Событие Edit пер...