En esta página, se describen los eventos de Google Chat que puedan suscribirse a la API de Google Workspace Events. Después de decidir qué tipos de eventos que necesites, crea un suscripción para comenzar a recibir eventos de Google Chat.
Además de suscribirte a eventos, puedes consultarlos llamando la API de Chat. Llamar a la API de Chat te permite recuperas eventos de manera periódica o te pones al día de eventos que te podrías haber perdido de una suscripción debido a una interrupción. Para aprender sobre las formas en que puedes recibir y responder eventos de Chat, consulta Trabaja con eventos de Google Chat en la Documentación de Chat
Eventos de Chat compatibles
Las suscripciones a Google Workspace te permiten recibir eventos sobre el los siguientes tipos de cambios en Chat:
- Mensajes nuevos, actualizados o borrados en el espacio.
- Reacciones nuevas o quitadas a un mensaje.
- Miembros nuevos, actualizados o quitados en el espacio.
- Cambios en el espacio a los que te suscribiste, como un nombre o una descripción de un espacio actualizado.
Recursos que puedes supervisar para detectar eventos
Para recibir eventos, especifica un recurso de Chat que supervisarás, que se denomina recurso de destino de la suscripción.
La API de Google Workspace Events admite los siguientes recursos de destino: para Chat:
Recurso de destino | Formato | Limitaciones |
---|---|---|
Espacio |
donde SPACE es el ID en el
nombre del recurso del recurso |
El usuario de Chat que autoriza la suscripción debe ser miembro del espacio a través de su cuenta de Google Workspace o Google Cuenta. |
Todos los espacios de un usuario |
|
La suscripción solo recibe eventos de los espacios en los que se encuentra el usuario a un miembro a través de su Cuenta de Google o de Google Workspace. |
Usuario |
donde USER es el ID en el
nombre del recurso del recurso |
La suscripción solo recibe eventos sobre el usuario que autorizó la suscripción. Un usuario no puede autorizar una suscripción en en nombre de otros usuarios. |
Tipos de eventos para crear suscripciones
Cuando creas una suscripción, usas el
eventTypes[]
para especificar qué tipos de eventos deseas recibir. Los tipos de eventos son
formateado según la especificación de CloudEvents, como
google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
Por ejemplo, para recibir eventos sobre usuarios que se unen a un chat
, debes especificar el espacio como recurso objetivo y el tipo de evento como
google.workspace.chat.membership.v1.created
Para recibir eventos sobre un
usuario que se une a un espacio, debes especificar el usuario como el recurso de destino, y
tipo de evento como google.workspace.chat.membership.v1.created
. Para obtener más información
cómo funcionan los eventos, consulta Estructura de Google Workspace
eventos.
En la siguiente tabla, se muestran los tipos de eventos compatibles con las suscripciones a los espacios y las suscripciones a los usuarios. Para obtener información sobre las excepciones para saber qué activa un evento, consulta Limitaciones.
Tipo de evento | Formato | Datos de recursos | ||
---|---|---|---|---|
Suscripciones a Espacios | ||||
Se publica un mensaje. |
|
|
||
Se actualiza un mensaje. |
|
|
||
Se borra un mensaje. |
|
|
||
Se crea una reacción. |
|
|
||
Se borrará una reacción. |
|
|
||
Se agregó un miembro al espacio. |
|
|
||
Se actualizó un miembro en el espacio. |
|
|
||
Se quita a un miembro del espacio. |
|
|
||
Se actualizó el espacio. |
|
|
||
Se borró el espacio. |
|
|
||
Suscripciones a usuarios | ||||
El usuario se convierte en miembro de un espacio.
No todos los miembros nuevos activan eventos. Para obtener más información, consulta Limitaciones |
|
|
||
Se actualiza la membresía del usuario en un espacio. |
|
|
||
Se quita al usuario como miembro directo de un espacio. |
|
|
Tipos de eventos por lotes (solo salida)
Además de recibir los tipos de eventos a los que te suscribes, tus La app de Chat también podría recibir eventos por lotes. Un evento por lotes es un evento que representa muchos eventos del mismo tipo que ocurren en un período breve período. La carga útil de un evento por lotes contiene una lista de todos los eventos de Google Cloud.
Por ejemplo, si un usuario agrega 20 usuarios a un espacio al mismo tiempo,
Es posible que la app de Chat reciba un evento por lotes
(google.workspace.chat.membership.v1.batchCreated
). La carga útil del evento contiene
Una lista de todos los recursos nuevos de Membership
que se crearon cuando el usuario
haya agregado a los miembros al espacio.
Recibes un evento por lotes para cualquier tipo de evento al que te suscribas.
No necesitas especificar eventos por lotes cuando creas una suscripción. Para
Por ejemplo, si te suscribes a reacciones nuevas
(google.workspace.chat.reaction.v1.created
), tu
app de Chat se configura automáticamente para recibir notificaciones
eventos de reacción (google.workspace.chat.reaction.v1.batchCreated
).
En la siguiente tabla, se muestran los posibles eventos por lotes para una suscripción:
Tipo de evento por lotes | Formato |
---|---|
Se publicaron varios mensajes. |
|
Se actualizaron los mensajes múltiples. |
|
Se borran varios mensajes. |
|
Se crearon varias reacciones. |
|
Se borraron varias reacciones. |
|
Si se agregan varios miembros al espacio al que el usuario se suscribió, o se agregó al usuario suscrito a varios espacios. |
|
Se actualizan varias membresías en el espacio al que se suscribió o para el usuario suscrito. |
|
Se quitan varios miembros del espacio al que estás suscrito o se quitó al usuario suscrito de varios espacios. |
|
El espacio tiene varias actualizaciones. |
|
Datos de eventos
Esta sección describe datos de eventos y cargas útiles de ejemplo para eventos en Chat.
Cuando tu suscripción a Google Workspace recibe un evento de
Chat,
data
contiene la carga útil del evento. Esta carga útil tiene información sobre el
recurso de Google Workspace que cambió. Por ejemplo, si te suscribiste a
eventos de membresía en un espacio, su carga útil contiene información
acerca de
spaces.membership
recurso que cambió.
Datos de recursos en la carga útil del evento
Cuando creas una suscripción, puedes especificar si deseas que la carga útil incluir detalles acerca del recurso o solo el nombre del recurso. Para Por ejemplo, si quieres recibir eventos sobre miembros en un chat puedes especificar qué campos de un recurso de membresía quieres recibir en la carga útil del evento.
En la siguiente tabla, se proporcionan ejemplos de cargas útiles de JSON para una suscripción a
al espacio de Chat spaces/AAAABBBBBB
. Por cada evento que el
recibe la suscripción, la carga útil aparece en el campo data
del evento:
Ejemplo | Tipo de evento | Carga útil de JSON |
---|---|---|
Una usuaria publica un mensaje en el espacio que dice “Hello World”. |
|
Incluye datos de recursos
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD", "sender": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "2023-09-07T21:37:36.260127Z", "text": "Hello world", "thread": { "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE" }, "space": { "name": "spaces/AAAABBBBBB" }, "argumentText": "Hello world" } } Excluye los datos de recursos
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD" } } |
Un usuario se convierte en administrador del espacio. |
|
Incluye datos de recursos
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MANAGER" } } Excluye los datos de recursos
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } } |
Un usuario actualiza la descripción del espacio a “Equipo de Ventas de Cymbal Labs”. | google.workspace.chat.space.v1.updated |
Incluye datos de recursos
{ "space": { "name": "spaces/AAAABBBBBB", "displayName": "Cymbal Sales", "spaceThreadingState": "THREADED_MESSAGES", "spaceType": "SPACE", "spaceDetails": { "description": "Sales team for Cymbal Labs." }, "spaceHistoryState": "HISTORY_ON" } } Excluye los datos de recursos
{ "space": { "name": "spaces/AAAABBBBBB" } } |
Se agregaron dos usuarios de Chat al espacio al mismo tiempo. | google.workspace.chat.membership.v1.batchCreated |
Incluye datos de recursos
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/987654321234567890", "state": "JOINED", "member": { "name": "users/987654321234567890", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } } ] } Excluye los datos de recursos
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/98765432123456789019" } } ] } |
Un usuario reacciona a un mensaje con el emoji 😊. | google.workspace.chat.reaction.v1.created |
Incluye datos de recursos
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } } Omite datos de recursos
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" } } |
Los usuarios reaccionan a un mensaje con el emoji 😊 y el emoji ipynb. | google.workspace.chat.reaction.v1.batchCreated |
Incluye datos de recursos
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } }, { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", "user": { "name": "users/98765431234564321", "type": "HUMAN" }, "emoji": { "unicode": "😸" } } } ] } Omite datos de recursos
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" }, "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", } } ] } |
Limitaciones
-
En el caso de las suscripciones de usuarios, eventos sobre miembros nuevos en mensajes directos o chats en grupo sin nombre (
google.workspace.chat.membership.v1.created
) solo se activa después de que se publica el primer mensaje. - Para recibir eventos de membresía, el usuario debe ser un miembro directo del espacio. Si se agregó un usuario, se actualiza o se quita de forma indirecta en un espacio a través de un Grupo de Google, la suscripción no pueden recibir esos eventos de membresía. Para comprender cómo funcionan las membresías de Grupos de Google, consulta Agrega un Grupo de Google a un espacio.
Temas relacionados
- Estructura de eventos de Google Workspace
- Elige permisos de OAuth
- Crea una suscripción para recibir eventos de Chat