Répertorier les événements d'un espace Google Chat

Ce guide explique comment utiliser la méthode list() sur la ressource SpaceEvent de l'API Google Chat pour lister les modifications apportées aux ressources d'un espace.

La ressource SpaceEvent représente une modification de l'espace cible, y compris les ressources enfants de l'espace, telles que les messages, les réactions et les adhésions. Pour en savoir plus sur la liste des types d'événements et des charges utiles d'événements compatibles, consultez les champs eventType et payload de la documentation de référence de la ressource SpaceEvent.

Vous pouvez lister des événements jusqu'à 28 jours avant l'heure de la demande. Le serveur renvoie les événements contenant la version la plus récente de la ressource concernée. Par exemple, si vous listez des événements concernant de nouveaux membres d'un espace, le serveur renvoie des ressources Membership contenant les dernières informations sur l'adhésion. Si de nouveaux membres ont été supprimés pendant la période demandée, la charge utile de l'événement contient une ressource Membership vide.

Pour appeler cette méthode, vous devez utiliser l'authentification des utilisateurs. Pour lister les événements d'un espace, l'utilisateur authentifié doit en être membre.

Prérequis

Node.js

Lister les événements de l'espace

Pour lister les événements d'un espace à partir d'un espace Chat, transmettez les éléments suivants dans votre requête:

L'exemple suivant liste les événements liés aux nouveaux membres et aux messages dans un espace:

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);

Pour exécuter cet exemple, remplacez SPACE_NAME par l'ID de l'name de l'espace. Vous pouvez obtenir l'ID en appelant la méthode ListSpaces() ou à partir de l'URL de l'espace.

L'API Chat renvoie une liste paginée des événements de l'espace concernant les nouveaux membres et les nouveaux messages.