Event

Es un evento de interacción de la app de Google Chat que representa y contiene datos sobre la interacción de un usuario con una app de Chat. Para configurar tu app de Chat de modo que reciba eventos de interacción, consulta Recibe interacciones de los usuarios y respóndelas.

Además de recibir eventos de las interacciones de los usuarios, las apps de Chat pueden recibir eventos sobre los cambios en los espacios, como cuando se agrega un miembro nuevo a un espacio. Para obtener información sobre los eventos de espacios, consulta Trabaja con eventos de Google Chat.

Advertencia: Este objeto de evento solo se usa para las apps de Chat que no son complementos. Si tu app de Chat se creó como un complemento de Google Workspace, consulta Objetos de eventos de complementos en la documentación de complementos. Para confirmar qué tipo de evento recibe tu app, consulta Determina el tipo de evento.

Representación JSON
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  },
  "appCommandMetadata": {
    object (AppCommandMetadata)
  }
}
Campos
type

enum (EventType)

Es el tipo de interacción del usuario con la app de Chat, como MESSAGE o ADDED_TO_SPACE.

eventTime

string (Timestamp format)

Es la marca de tiempo que indica cuándo se produjo el evento de interacción.

token

string

Es un valor secreto que las apps de Chat heredadas pueden usar para verificar si una solicitud proviene de Google. Google genera el token de forma aleatoria y su valor permanece estático. Puedes obtener, revocar o volver a generar el token desde la página de configuración de la API de Chat en la consola de Google Cloud.

Las apps de Chat modernas no usan este campo. No aparece en las respuestas de la API ni en la página de configuración de la API de Chat.

threadKey

string

Es la clave definida por la app de Chat para el hilo relacionado con el evento de interacción. Consulta spaces.messages.thread.threadKey para obtener más información.

message

object (Message)

Para los eventos de interacción ADDED_TO_SPACE, CARD_CLICKED y MESSAGE, el mensaje que activó el evento de interacción, si corresponde.

user

object (User)

Es el usuario que interactuó con la app de Chat.

thread

object (Thread)

Es el hilo en el que el usuario interactuó con la app de Chat. Podría ser un hilo nuevo creado por un mensaje enviado recientemente. Este campo se completa si el evento de interacción está asociado con un mensaje o una conversación específicos.

space

object (Space)

Es el espacio en el que el usuario interactuó con la app de Chat.

action

object (FormAction)

Para los eventos de interacción CARD_CLICKED, son los datos de acción del formulario asociados cuando un usuario hace clic en una tarjeta o un diálogo. Para obtener más información, consulta Cómo leer los datos de formularios que ingresan los usuarios en las tarjetas.

configCompleteRedirectUrl

string

Esta URL se completa para los eventos de interacción MESSAGE, ADDED_TO_SPACE y APP_COMMAND. Después de completar un flujo de autorización o configuración fuera de Google Chat, se debe redireccionar a los usuarios a esta URL para indicarle a Google Chat que el flujo de autorización o configuración se realizó correctamente. Para obtener más información, consulta Conecta una app de Chat con otros servicios y herramientas.

isDialogEvent

boolean

En el caso de los eventos de interacción CARD_CLICKED y MESSAGE, si el usuario interactúa o está a punto de interactuar con un diálogo.

dialogEventType

enum (DialogEventType)

Es el tipo de evento de interacción de diálogo recibido.

common

object (CommonEventObject)

Representa información sobre el cliente del usuario, como la configuración regional, la app host y la plataforma. En el caso de las apps de Chat, CommonEventObject incluye la información que envían los usuarios que interactúan con los diálogos, como los datos que se ingresan en una tarjeta.

appCommandMetadata

object (AppCommandMetadata)

Son metadatos sobre un comando de la app de Chat.

CommonEventObject

El objeto de evento común es la parte del objeto de evento general que lleva información general, independiente del host, al complemento desde el cliente del usuario. Esta información incluye detalles como la configuración regional del usuario, la app host y la plataforma.

Además de los activadores contextuales y de la página principal, los complementos construyen y pasan objetos de evento a las funciones de devolución de llamada de acción cuando el usuario interactúa con los widgets. La función de devolución de llamada de tu complemento puede consultar el objeto de evento común para determinar el contenido de los widgets abiertos en el cliente del usuario. Por ejemplo, tu complemento puede ubicar el texto que un usuario ingresó en un widget TextInput en el objeto eventObject.commentEventObject.formInputs.

En el caso de las apps de Chat, es el nombre de la función que invocó el usuario cuando interactuó con un widget.

Representación JSON
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
Campos
userLocale

string

Está inhabilitado de forma predeterminada. Es el identificador de idioma y país o región del usuario en el formato de código de idioma ISO 639-código de país o región ISO 3166. Por ejemplo, en-US.

Para activar este campo, debes establecer addOns.common.useLocaleFromApp en true en el manifiesto de tu complemento. La lista de permisos de tu complemento también debe incluir https://www.googleapis.com/auth/script.locale. Consulta Cómo acceder a la configuración regional y la zona horaria del usuario para obtener más detalles.

hostApp

enum (HostApp)

Indica la app host en la que está activo el complemento cuando se genera el objeto de evento. Entre los valores posibles, se incluyen los siguientes:

  • GMAIL
  • CALENDAR
  • DRIVE
  • DOCS
  • SHEETS
  • SLIDES
  • CHAT
platform

enum (Platform)

Es la enumeración de la plataforma que indica la plataforma en la que se origina el evento (WEB, IOS o ANDROID). No es compatible con las apps de Chat.

timeZone

object (TimeZone)

Está inhabilitado de forma predeterminada. El ID de la zona horaria y el desplazamiento respecto de la hora universal coordinada (UTC). Para activar este campo, debes establecer addOns.common.useLocaleFromApp en true en el manifiesto de tu complemento. La lista de permisos de tu complemento también debe incluir https://www.googleapis.com/auth/script.locale. Consulta Cómo acceder a la configuración regional y la zona horaria del usuario para obtener más detalles.

Solo se admite para los tipos de eventos CARD_CLICKED y SUBMIT_DIALOG.

formInputs

map (key: string, value: object (Inputs))

Es un mapa que contiene los valores actuales de los widgets de la tarjeta que se muestra. Las claves del mapa son los valores de cadena name asignados a cada widget de entrada (como TextInput.name, SelectionInput.name, DateTimePicker.name o DecoratedText.SwitchControl.name).

La estructura del objeto de valor del mapa depende del tipo de widget:

Nota: Los siguientes ejemplos tienen el formato del entorno de ejecución de V8 de Apps Script. Si usas el entorno de ejecución de Rhino, debes agregar [""] después del valor. Por ejemplo, en lugar de e.commonEventObject.formInputs.employeeName.stringInputs.value[0], asigna el formato e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0] al objeto de evento. Para obtener más información sobre los entornos de ejecución en Apps Script, consulta la descripción general del entorno de ejecución de V8.

  • Widgets de valor único (por ejemplo, un widget TextInput o un widget SelectionInput de tipo DROPDOWN o RADIO_BUTTON): un objeto StringInputs que contiene una lista de un solo elemento (o una lista vacía si no se realiza ninguna selección).

Ejemplo: Para un widget de entrada de texto con employeeName como su name, accede al valor de entrada de texto con e.commonEventObject.formInputs.employeeName.stringInputs.value[0].

  • Widgets de varios valores (por ejemplo, un widget SelectionInput de tipo CHECK_BOX, SWITCH o MULTI_SELECT): un objeto StringInputs que contiene la lista de cadenas value de elementos seleccionados.

Ejemplo: Para un widget de varios valores con participants como su name, accede al array de valores con e.commonEventObject.formInputs.participants.stringInputs.value.

  • Un widget DecoratedText.SwitchControl: un objeto StringInputs. Cuando selected es true, stringInputs.value contiene el campo value del interruptor (o "" si no se especificó value; si varios interruptores comparten el mismo name, el value de cada interruptor seleccionado se incluye en la lista). Cuando selected es false, el value del interruptor se omite de stringInputs.value.

  • Un selector de fecha y hora (DateTimePickerType.DATE_AND_TIME): un DateTimeInput object.

Ejemplo: Para un selector con un name de myDTPicker, accede al objeto DateTimeInput con e.commonEventObject.formInputs.myDTPicker.dateTimeInput.

  • Un selector solo de fecha (DateTimePickerType.DATE_ONLY): un DateInput object.

Ejemplo: Para un selector con un name de myDatePicker, accede al objeto DateInput con e.commonEventObject.formInputs.myDatePicker.dateInput.

Ejemplo: Para un selector con un name de myTimePicker, accede al objeto TimeInput con e.commonEventObject.formInputs.myTimePicker.timeInput.

parameters

map (key: string, value: string)

Cualquier parámetro adicional que proporciones a una acción con actionParameters o Action.setParameters()

Versión preliminar para desarrolladores: Para complementos que extienden Google Chat, para sugerir elementos según lo que los usuarios escriban en menús de selección múltiple, utilice el valor de la clave "autocomplete_widget_query" (event.commonEventObject.parameters["autocomplete_widget_query"]). Puede utilizar este valor para consultar una base de datos y sugerir elementos seleccionables a los usuarios mientras escriben. Para obtener más información, consulta Recopila y procesa información de los usuarios de Google Chat.

invokedFunction

string

Es el nombre de la función que se invocará.

Este campo no se propaga para los complementos de Google Workspace que extienden Google Chat. En su lugar, para recibir datos de funciones, como identificadores, los complementos que extienden Chat deben usar el campo parameters. Consulta Cómo compilar interfaces interactivas para apps de Chat.

TimeZone

El ID de la zona horaria y el desplazamiento respecto de la hora universal coordinada (UTC). Solo se admite para los tipos de eventos CARD_CLICKED y SUBMIT_DIALOG.

Representación JSON
{
  "id": string,
  "offset": integer
}
Campos
id

string

Es el código de la base de datos de zonas horarias de IANA TZ, como "America/Toronto".

offset

integer

Es el desplazamiento de la zona horaria del usuario, en milisegundos, desde el Horario Universal Coordinado (UTC).

Entradas

Tipos de datos que los usuarios pueden ingresar en tarjetas o diálogos. El tipo de entrada depende del tipo de valores que acepta el widget.

Representación JSON
{

  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
}
Campos
La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
stringInputs

object (StringInputs)

Es una lista de cadenas que representan los valores que el usuario ingresa en un widget.

Si el widget solo acepta un valor, como un widget TextInput, la lista contiene un objeto de cadena. Si el widget acepta varios valores, como un widget SelectionInput de casillas de verificación, la lista contiene un objeto de cadena para cada valor que el usuario ingresa o selecciona.

dateTimeInput

object (DateTimeInput)

Son valores de entrada de fecha y hora de un widget DateTimePicker que acepta tanto una fecha como una hora.

dateInput

object (DateInput)

Son los valores de entrada de fecha de un widget DateTimePicker que solo acepta valores de fecha.

timeInput

object (TimeInput)

Son los valores de entrada de hora de un widget DateTimePicker que solo acepta valores de hora.

Fin de los campos mutuamente excluyentes.

StringInputs

Es el parámetro de entrada para los widgets normales. En el caso de los widgets de un solo valor, es una lista de un solo valor. En el caso de los widgets con varios valores, como las casillas de verificación, se presentan todos los valores.

Representación JSON
{
  "value": [
    string
  ]
}
Campos
value[]

string

Es una lista de cadenas que ingresa el usuario.

DateTimeInput

Son los valores de entrada de fecha y hora.

Representación JSON
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
Campos
msSinceEpoch

string (int64 format)

Es el tiempo transcurrido desde la época, en milisegundos.

hasDate

boolean

Indica si la entrada datetime incluye una fecha del calendario.

hasTime

boolean

Indica si la entrada datetime incluye una marca de tiempo.

DateInput

Son los valores de entrada de fecha.

Representación JSON
{
  "msSinceEpoch": string
}
Campos
msSinceEpoch

string (int64 format)

Es el tiempo transcurrido desde la época, en milisegundos.

TimeInput

Son los valores de entrada de tiempo.

Representación JSON
{
  "hours": integer,
  "minutes": integer
}
Campos
hours

integer

La hora en un reloj de 24 horas.

minutes

integer

Es la cantidad de minutos después de la hora. Los valores válidos van de 0 a 59.

AppCommandMetadata

Metadatos sobre un comando de la app de Chat.

Representación JSON
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
Campos
appCommandId

integer

Es el ID del comando especificado en la configuración de la API de Chat.

appCommandType

enum (AppCommandType)

Es el tipo de comando de la app de Chat.