Muestra una lista de eventos de un espacio de Google Chat

En esta guía, se explica cómo usar el método list() en el recurso SpaceEvent de la API de Google Chat para enumerar los cambios en los recursos de un espacio.

El recurso SpaceEvent representa un cambio en el espacio de destino, incluidos los recursos secundarios del espacio, como mensajes, reacciones y membresías. Para obtener más información sobre la lista de tipos de eventos y las cargas útiles de eventos admitidas, consulta los campos eventType y payload de la documentación de referencia del recurso SpaceEvent.

Puedes enumerar eventos hasta 28 días antes de la hora de la solicitud. El servidor muestra eventos que contienen la versión más reciente del recurso afectado. Por ejemplo, si enumeras eventos sobre miembros nuevos del espacio, el servidor muestra recursos Membership que contienen los detalles más recientes de la membresía. Si se quitaron miembros nuevos durante el período solicitado, la carga útil del evento contiene un recurso Membership vacío.

Para llamar a este método, debes usar la autenticación de usuario. Para mostrar una lista de eventos de un espacio, el usuario autenticado debe ser miembro del espacio.

Requisitos previos

Node.js

Cómo enumerar eventos de espacio

Para enumerar los eventos de un espacio de Chat, pasa lo siguiente en tu solicitud:

  • Especifica uno o más permisos de autorización para admitir cada tipo de evento en tu solicitud. Como práctica recomendada, elige el permiso más restrictivo que aún permita que tu app funcione. Para elegir un permiso, consulta la descripción general de la autenticación y la autorización.

  • Llama al método ListSpaceEvents() y pasa el filter de los tipos de eventos que deseas enumerar. Debes especificar, al menos, un tipo de evento y también puedes filtrar por fecha. Para obtener una lista de los tipos de eventos compatibles, consulta el campo eventType del recurso SpaceEvent de la documentación de referencia.

En el siguiente ejemplo, se muestran eventos sobre membresías y mensajes nuevos en un espacio:

Node.js

chat/client-libraries/cloud/list-space-events-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

// Authorization scopes based on the event types
const USER_AUTH_OAUTH_SCOPES = [
  'https://www.googleapis.com/auth/chat.memberships.readonly',
  'https://www.googleapis.com/auth/chat.messages.readonly'
];

// This sample shows how to list space events with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    parent: 'spaces/SPACE_NAME',
    // A required filter. Filters events about new memberships and messages
    filter: 'eventTypes:"google.workspace.chat.membership.v1.created" OR eventTypes:"google.workspace.chat.message.v1.created"'
  };

  // Make the request
  const pageResult = chatClient.listSpaceEventsAsync(request);

  // Handle the response. Iterating over pageResult will yield results and
  // resolve additional pages automatically.
  for await (const response of pageResult) {
    console.log(response);
  }
}

main().catch(console.error);

Para ejecutar esta muestra, reemplaza SPACE_NAME por el ID de name del espacio. Para obtener el ID, llama al método ListSpaces() o desde la URL del espacio.

La API de Chat muestra una lista paginada de eventos de espacio sobre membresías y mensajes nuevos.