Objetos de eventos

Los activadores simples y los activadores instalables permiten que Apps Script ejecute una función automáticamente si se produce un evento determinado. Cuando se activa un activador, Apps Script pasa a la función un objeto de evento como un argumento, que se suele llamar 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.

Abrir

(simple e instalable)
authMode

Un valor de la enumeración ScriptApp.AuthMode

LIMITED
source

Un objeto Spreadsheet, que representa el archivo de Hojas de cálculo de Google al que está vinculada la secuencia de comandos.

Spreadsheet
triggerUid

ID del activador que produjo este evento (solo activadores instalables).

4034124084959907503
user

Un objeto User, que representa al usuario activo, si está disponible (según un conjunto complejo de restricciones de seguridad).

amin@example.com

Cambiar

(instalable)
authMode

Un valor de la enumeración ScriptApp.AuthMode

FULL
changeType

El tipo de cambio (EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMAT o OTHER).

INSERT_ROW
source

Un objeto Spreadsheet, que representa el archivo de Hojas de cálculo de Google al que está vinculada la secuencia de comandos.

Spreadsheet
triggerUid

ID del activador que produjo este evento.

4034124084959907503
user

Un objeto User, que representa al usuario activo, si está disponible (según un conjunto complejo de restricciones de seguridad).

amin@example.com

Editar

(simple e instalable)
authMode

Un valor de la enumeración ScriptApp.AuthMode

LIMITED
oldValue

Valor de celda anterior a 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, que representa la celda o el rango de celdas que se editaron

Range
source

Un objeto Spreadsheet, que representa el archivo de Hojas de cálculo de Google al que está vinculada la secuencia de comandos.

Spreadsheet
triggerUid

ID del activador que produjo este evento (solo activadores instalables).

4034124084959907503
user

Un objeto User, que representa al usuario activo, si está disponible (según un conjunto complejo de restricciones de seguridad).

amin@example.com
value

Nuevo valor de celda después de la edición. Solo está disponible si el rango editado es de una sola celda.

10

Envío de formulario

(instalable)
authMode

Un valor de la enumeración ScriptApp.AuthMode

FULL
namedValues

Un objeto que contiene los nombres de las preguntas y los valores del formulario enviado.

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

Un objeto Range, que representa la celda o el rango de celdas que se editaron

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.

Abrir

(simple e instalable)
authMode

Un valor de la enumeración ScriptApp.AuthMode

LIMITED
source

Un objeto Document, que representa el archivo de Documentos de Google al que está vinculada la secuencia de comandos.

Document
triggerUid

ID del activador que produjo este evento (solo activadores instalables).

4034124084959907503
user

Un objeto User, que representa al usuario activo, si está disponible (según un conjunto complejo de restricciones de seguridad).

amin@example.com

Eventos de Presentaciones de Google

Los activadores permiten que Presentaciones de Google responda cuando un usuario abre una presentación.

Abrir

(simple).
authMode

Un valor de la enumeración ScriptApp.AuthMode

LIMITED
source

Un objeto Presentation, que representa el archivo de Presentaciones de Google al que está vinculada la secuencia de comandos

Presentation
user

Un objeto User, que representa al usuario activo, si está disponible (según un conjunto complejo de restricciones de seguridad).

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.

Abrir

* (simple e instalable)
authMode

Un valor de la enumeración ScriptApp.AuthMode

LIMITED
source

Un objeto Form, que representa el archivo de Formularios de Google al que está vinculada la secuencia de comandos.

Form
triggerUid

ID del activador que produjo este evento (solo activadores instalables).

4034124084959907503
user

Un objeto User, que representa al usuario activo, si está disponible (según un conjunto complejo de restricciones de seguridad).

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 ScriptApp.AuthMode

FULL
response

Un objeto FormResponse, que representa la respuesta del usuario al formulario completo.

FormResponse
source

Un objeto Form, que representa el archivo de Formularios de Google al que está vinculada la secuencia de comandos.

Form
triggerUid

ID del activador que produjo este evento.

4034124084959907503

Eventos del Calendario de Google

Calendario se activa cuando se actualizan los eventos de calendario de un usuario (creados, editados o borrados).

Estos activadores no le indican qué evento cambió o cómo cambió. En cambio, indican que tu código debe realizar una operación de sincronización incremental para registrar los cambios recientes en el calendario. Para obtener una descripción completa de este procedimiento, consulta la guía de recursos de sincronización para la API de Calendario.

Para realizar la sincronización con Calendario en Apps Script, sigue estos pasos:

  1. Habilita el servicio avanzado de Calendario para el proyecto de secuencia de comandos. El servicio de Calendario integrado no es suficiente para este flujo de trabajo.
  2. Determinar qué calendarios se deben sincronizar Para cada calendario, realiza una operación de sincronización inicial con el método Events.list() del servicio avanzado de Calendario.
  3. El resultado de la sincronización inicial muestra un nextSyncToken para ese calendario. Almacena este token para usarlo más adelante.
  4. Cuando se activa el activador EventUpdated de Apps Script, lo que indica que se produjo un cambio en el evento de calendario, realiza una sincronización incremental para el calendario afectado mediante el nextSyncToken almacenado. En esencia, esta es otra solicitud de Events.list(), pero proporcionar el nextSyncToken limita la respuesta a solo los eventos que cambiaron desde la última sincronización.
  5. 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 avisos por correo electrónico o realizar otras acciones.
  6. 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 ScriptApp.AuthMode

FULL
calendarId

El ID de string del calendario donde se realizó 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 ScriptApp.AuthMode

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 ScriptApp.AuthMode

FULL
day-of-month

Entre 1 y 31.

Debido a que este nombre de propiedad contiene guiones, se debe acceder a él mediante e['day-of-month'] en lugar de la notación de puntos.

31
day-of-week

Entre 1 (lunes) y 7 (domingo).

Debido a que este nombre de propiedad contiene guiones, se debe acceder a él mediante e['day-of-week'] en lugar de la notación de puntos.

7
hour

Entre 0 y 23.

23
minute

Entre 0 y 59.

59
month

Entre 1 y 12.

12
second

Entre 0 y 59.

59
timezone

La zona horaria

UTC
triggerUid

ID del activador que produjo este evento.

4034124084959907503
week-of-year

Entre 1 y 52.

Debido a que este nombre de propiedad contiene guiones, se debe acceder a él mediante e['week-of-year'] en lugar de la notación de puntos.

52
year

El año.

2015