Obtenir des informations sur un événement d'un espace Google Chat

Ce guide explique comment utiliser la méthode get sur la ressource SpaceEvent de l'API Google Chat pour obtenir des informations sur un événement à partir d'un espace Google Chat.

La ressource SpaceEvent représente une modification apportée à un espace ou à ses ressources enfants, telles que les messages, les réactions et les adhésions. Pour en savoir plus sur les types d'événements compatibles, consultez le champ eventType de la documentation de référence sur la ressource SpaceEvent.

Vous pouvez demander des événements jusqu'à 28 jours avant la date de la demande. L'événement contient la version la plus récente de la ressource qui a été modifiée. Par exemple, si vous demandez un événement concernant un nouveau message, mais que celui-ci a été mis à jour ultérieurement, le serveur renvoie la ressource Message mise à jour dans la charge utile de l'événement.

Pour appeler cette méthode, vous devez utiliser l'authentification des utilisateurs. Pour obtenir un événement, l'utilisateur authentifié doit être membre de l'espace où l'événement s'est produit.

Prérequis

Python

  • Python 3.6 ou version ultérieure
  • L'outil de gestion des packages pip
  • Les dernières bibliothèques clientes Google pour Python. 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
    
  • Un projet Google Cloud avec l'API Google Chat activée et configurée Pour connaître la procédure à suivre, consultez Créer une application Google Chat.
  • Autorisation configurée pour l'application Chat. Obtenir un événement d'espace nécessite une authentification des utilisateurs dont le champ d'application est compatible avec le type d'événement. Pour choisir un champ d'application, consultez la page Présentation de l'authentification et des autorisations.

Obtenir des informations sur un événement d'espace

Pour obtenir des informations sur un SpaceEvent dans Google Chat, procédez comme suit:

  • Appelez la méthode get sur la ressource SpaceEvent.
  • Transmettez le name de SpaceEvent pour obtenir. Obtenez le nom SpaceEvent à partir de la ressource SpaceEvent de Google Chat.
  • Avec l'authentification des utilisateurs, spécifiez un champ d'application d'autorisation compatible avec le type d'événement de votre requête. Nous vous recommandons de choisir le champ d'application le plus restrictif permettant à votre application de fonctionner.

Voici comment obtenir un SpaceEvent avec authentification des utilisateurs:

Python

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

    """Gets a SpaceEvent resource 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 = ['SCOPE']
    
    # 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()
        .get(
            # The space event to get.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            #
            # Replace SPACE_EVENT with a SpaceEvent name.
            # Obtain the spaceEvent name from the SpaceEvent resource of
            # Chat API.
            name='spaces/SPACE/spaceEvents/SPACE_EVENT'
        )
        .execute()
    )
    
    # Prints details about the created spaceEvent.
    print(result)
    
  3. Dans le code, remplacez ce qui suit:

    • SCOPE: champ d'application d'une autorisation en fonction du type d'événement. Par exemple, si vous recevez un événement d'espace concernant une nouvelle adhésion, utilisez le champ d'application chat.memberships.readonly, au format https://www.googleapis.com/auth/chat.memberships.readonly. Vous pouvez obtenir le type d'événement à l'aide de la méthode spaces.spaceEvents.list. Pour savoir comment utiliser cette méthode, consultez la section Répertorier les événements d'un espace.
    • SPACE: nom d'espace, que vous pouvez obtenir à l'aide de la méthode spaces.list de l'API Chat ou de l'URL d'un espace.
    • SPACE_EVENT: nom de l'événement d'espace, que vous pouvez obtenir à partir de la méthode spaces.spaceEvents.list.
  4. Dans votre répertoire de travail, créez et exécutez l'exemple:

    python3 chat_space_event_get.py
    

L'API Chat renvoie une instance de SpaceEvent avec des détails sur l'événement.