Los activadores simples y los activadores instalables permiten que Apps Script ejecute una función automáticamente si ocurre un evento determinado. Cuando se activa un activador, Apps Script pasa a la función un objeto de evento como un argumento, por lo general, llamado e
. El objeto de evento contiene información sobre el contexto que provocó la activación del activador. Por ejemplo, el siguiente código de muestra muestra un activador onEdit(e)
simple para una secuencia de comandos de Hojas de cálculo de Google que usa el objeto de evento a fin de determinar qué celda se editó.
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());
}
En esta página, se detallan los campos del objeto de evento para diferentes tipos de activadores.
Eventos de Hojas de cálculo de Google
Los diversos activadores específicos de Hojas de cálculo de Google permiten que las secuencias de comandos respondan a las acciones de un usuario en una hoja de cálculo.
Abierto(simple e instalable) |
|
---|---|
authMode |
Un valor de la enumeración LIMITED |
source |
Un objeto Spreadsheet |
triggerUid |
ID del activador que produjo este evento (solo activadores instalables). 4034124084959907503 |
user |
Un objeto amin@example.com |
Cambiar(instalable) |
|
---|---|
authMode |
Un valor de la enumeración FULL |
changeType |
El tipo de cambio ( INSERT_ROW |
triggerUid |
ID del activador que produjo este evento. 4034124084959907503 |
user |
Un objeto amin@example.com |
Editar(simple e instalable) |
|
---|---|
authMode |
Un valor de la enumeración LIMITED |
oldValue |
Valor de celda antes de la edición, si corresponde Solo está disponible si el rango editado es de una sola celda. Será indefinido si la celda no tenía contenido anterior. 1234 |
range |
Un objeto Range |
source |
Un objeto Spreadsheet |
triggerUid |
ID del activador que produjo este evento (solo activadores instalables). 4034124084959907503 |
user |
Un objeto amin@example.com |
value |
Nuevo valor de celda después de la edición Solo está disponible si el rango editado es una sola celda. 10 |
Envío de formulario(instalable) |
|
---|---|
authMode |
Un valor de la enumeración FULL |
namedValues |
Un objeto que contiene los nombres de las preguntas y los valores del envío del formulario. { 'First Name': ['Jane'], 'Timestamp': ['6/7/2015 20:54:13'], 'Last Name': ['Doe'] } |
range |
Un objeto Range |
triggerUid |
ID del activador que produjo este evento. 4034124084959907503 |
values |
Arreglo con valores en el mismo orden en el que aparecen en la hoja de cálculo. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Eventos de Documentos de Google
Los activadores permiten que Documentos de Google responda cuando un usuario abre un documento.
Abierto(simple e instalable) |
|
---|---|
authMode |
Un valor de la enumeración LIMITED |
source |
Un objeto Document |
triggerUid |
ID del activador que produjo este evento (solo activadores instalables). 4034124084959907503 |
user |
Un objeto amin@example.com |
Eventos de Presentaciones de Google
Los activadores permiten que Presentaciones de Google responda cuando un usuario abre una presentación.
Abierto(simple) |
|
---|---|
authMode |
Un valor de la enumeración LIMITED |
source |
Un objeto Presentation |
user |
Un objeto amin@example.com |
Eventos de Formularios de Google
Los activadores específicos de Formularios de Google permiten que las secuencias de comandos respondan cuando un usuario edita un formulario o envía una respuesta.
Abierto* (simple e instalable) |
|
---|---|
authMode |
Un valor de la enumeración LIMITED |
source |
Un objeto Form |
triggerUid |
ID del activador que produjo este evento (solo activadores instalables). 4034124084959907503 |
user |
Un objeto amin@example.com |
* Este evento no se produce cuando un usuario abre un formulario para responder, sino cuando un editor lo abre para modificarlo.
Envío de formulario(instalable) |
|
---|---|
authMode |
Un valor de la enumeración FULL |
response |
Un objeto FormResponse |
source |
Un objeto Form |
triggerUid |
ID del activador que produjo este evento. 4034124084959907503 |
Eventos del Calendario de Google
Calendario se activa cuando se actualizan (se crean, editan o borran) los eventos de calendario de un usuario.
Estos activadores no le indican qué evento cambió ni cómo se modificó. En cambio, indican que tu código debe realizar una operación de sincronización incremental para detectar cambios recientes en el calendario. Para obtener una descripción completa de este procedimiento, consulta la Guía de sincronización de recursos de la API de Calendario.
Para sincronizar el calendario con Apps Script, sigue estos pasos:
- Habilita el servicio avanzado de Calendario para el proyecto de secuencia de comandos. El servicio Calendario integrado no es suficiente para este flujo de trabajo.
- Determine qué calendarios deben sincronizarse. Para cada uno de estos calendarios, realiza una operación de sincronización indirecta con el método Events.list() del servicio avanzado de Calendario.
- El resultado de la sincronización inicial muestra un
nextSyncToken
para ese calendario. Almacena este token para usarlo más adelante. - Cuando se activa el activador
EventUpdated
de Apps Script, lo que indica un cambio de evento de calendario, realiza una sincronización incremental para el calendario afectado mediante elnextSyncToken
almacenado. En esencia, esta es otra solicitud Events.list(), pero proporcionar lanextSyncToken
limita la respuesta a solo los eventos que cambiaron desde la última sincronización. - Examina la respuesta de la sincronización para saber qué eventos se actualizaron y hacer que tu código responda de forma adecuada. Por ejemplo, puedes registrar el cambio, actualizar una hoja de cálculo, enviar notificaciones por correo electrónico o realizar otras acciones.
- Actualiza el
nextSyncToken
que almacenaste para ese calendario con el que muestra la solicitud de sincronización incremental. Esto obliga a la siguiente operación de sincronización a mostrar solo los cambios más recientes.
Evento actualizado(instalable) |
|
---|---|
authMode |
Un valor de la enumeración FULL |
calendarId |
El ID de string del calendario donde ocurrió la actualización del evento. susan@example.com |
triggerUid |
ID del activador que produjo este evento. 4034124084959907503 |
Eventos de complementos
El activador onInstall()
se ejecuta de forma automática cuando un usuario instala un complemento.
Instalar(simple) |
|
---|---|
authMode |
Un valor de la enumeración FULL |
Eventos basados en el tiempo
Los activadores basados en el tiempo (también llamados activadores de reloj) permiten que las secuencias de comandos se ejecuten en un momento determinado o en un intervalo recurrente.
Basado en el tiempo (instalable) | |
---|---|
authMode |
Un valor de la enumeración FULL |
day-of-month |
Entre Debido a que el nombre de esta propiedad contiene guiones, se debe acceder a él a través de 31 |
day-of-week |
Entre Debido a que el nombre de esta propiedad contiene guiones, se debe acceder a él a través de 7 |
hour |
Entre 23 |
minute |
Entre 59 |
month |
Entre 12 |
second |
Entre 59 |
timezone |
La zona horaria. UTC |
triggerUid |
ID del activador que produjo este evento. 4034124084959907503 |
week-of-year |
Entre Debido a que el nombre de esta propiedad contiene guiones, se debe acceder a él a través de 52 |
year |
El año. 2015 |