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

Ce guide explique comment utiliser le list sur la ressource SpaceEvent de l'API Google Chat pour répertorier les modifications apportées aux ressources d'un espace.

La ressource SpaceEvent représente une modification apportée à l'espace cible, y compris aux ressources enfants de l'espace. comme les messages, les réactions et les abonnements. Pour en savoir plus sur la la liste des types d'événements et des charges utiles d'événements pris en charge, consultez les eventType et Champs payload de la ressource SpaceEvent documentation de référence.

Vous pouvez répertorier les événements remontant jusqu'à 28 jours avant l'heure de la requête. Le serveur renvoie les événements contenant la version la plus récente de la ressource concernée. Par exemple, si vous répertoriez des événements concernant les nouveaux membres d'un espace, le serveur renvoie Ressources Membership contenant les informations les plus récentes sur l'adhésion. S'il s'agit d'un nouvel appareil ont été supprimés pendant la période demandée, la charge utile de l'événement contient ressource Membership vide.

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

Prérequis

Python

  • Python 3.6 ou version ultérieure
  • L'outil de gestion de packages pip
  • Les dernières bibliothèques clientes Google Pour les installer ou les mettre à jour, exécutez la commande suivante dans votre interface de ligne de commande:
    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    

Répertorier les événements de l'espace

Pour répertorier les événements d'un espace Chat, procédez comme suit:

  • Appelez la méthode list. le SpaceEvent ressource.
  • Spécifiez les types d'événements à répertorier à l'aide des boutons filter . Vous devez spécifier au moins un type d'événement, et vous pouvez également filtrer par la date de début. Pour obtenir la liste des types d'événements compatibles, consultez eventType .
  • Avec utilisateur authentication, spécifiez un ou plusieurs niveaux d'autorisation pour prendre en charge chaque type d'événement de votre requête. Nous vous recommandons de choisir le champ d'application le plus restrictif permet à votre application de fonctionner. Pour choisir un champ d'application, consultez les Présentation de l'authentification et de l'autorisation

Dans l'exemple de code suivant, vous listez les événements concernant les nouvelles adhésions. messages dans un espace.

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_space_event_list.py.
  2. Ajoutez le code suivant dans chat_space_event_list.py:

    """Lists SpaceEvent resources from the Chat API."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.memberships.readonly",
    "https://www.googleapis.com/auth/chat.messages.readonly"]
    
    # Authenticate with Google Workspace
    # and get user authorization.
    flow = InstalledAppFlow.from_client_secrets_file(
                'client_secrets.json', SCOPES)
    creds = flow.run_local_server()
    
    # Build a service endpoint for Chat API.
    chat = build(
      'chat',
      'v1',
      credentials=creds,
    )
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().spaceEvents().list(
    
        # The space from which to list events.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # A required filter. Filters and returns events about new memberships and messages
        filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"'
    
    ).execute()
    
    # Prints details about the created space events.
    print(result)
    
  3. Dans le code, remplacez les éléments suivants:

    • SPACE: nom d'espace, que vous pouvez obtenir à partir de la méthode spaces.list. dans l'API Chat ou depuis l'URL d'un espace.
  4. Dans votre répertoire de travail, créez et exécutez l'exemple:

    python3 chat_space_event_list.py
    

L'API Chat renvoie une liste SpaceEvent ressources des événements sur les nouveaux messages et abonnements.

Personnaliser la pagination

Vous pouvez également transmettre les paramètres de requête suivants pour personnaliser la pagination:

  • pageSize: nombre maximal de ressources SpaceEvent à renvoyer. Le service peut renvoyer moins que cette valeur. Les valeurs négatives renvoient un INVALID_ARGUMENT erreur.
  • pageToken: jeton de page reçu d'un appel d'événement d'espace de liste précédent. Fournissez ce jeton pour récupérer la page suivante. Lors de la pagination, La valeur du filtre doit correspondre à l'appel qui a fourni le jeton de page. Transmettre un valeur différente peut entraîner des résultats inattendus.