Obtenir les détails d'un message

Ce guide explique comment utiliser la méthode get sur la ressource Message de l'API Google Chat pour renvoyer des informations sur un message texte ou une carte.

La ressource Message représente un message texte ou fiche dans Google Chat. Vous pouvez create, get, update ou delete un message dans l'API Google Chat en appelant les méthodes correspondantes. Pour en savoir plus sur les messages texte et les messages sous forme de fiches, consultez Présentation des messages Google Chat.

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 message est compatible avec les deux méthodes d'authentification:

Recevoir un message avec authentification des utilisateurs

Pour obtenir des détails sur un message via l'authentification utilisateur, transmettez les éléments suivants dans votre requête:

  • Spécifiez le champ d'application des autorisations chat.messages.readonly ou chat.messages.
  • Appelez la méthode get sur la ressource Message.
  • Définissez name sur le nom de ressource du message à récupérer.

L'exemple suivant reçoit un message avec authentification utilisateur:

Python

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

    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.messages.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets a message.
        '''
    
        # 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().messages().get(
    
            # The message 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 MESSAGE with a message name.
            # Obtain the message name from the response body returned
            # after creating a message asynchronously with Chat REST API.
            name = 'spaces/SPACE/messages/MESSAGE'
    
        ).execute()
    
        # Prints details about the created membership.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dans le code, remplacez ce qui suit:

    • SPACE: nom d'espace, que vous pouvez obtenir à partir de la méthode spaces.list de l'API Chat ou de l'URL d'un espace.
    • MESSAGE: nom du message, que vous pouvez obtenir dans le corps de la réponse renvoyé après avoir créé un message de manière asynchrone avec l'API Chat, ou avec le nom personnalisé attribué au message lors de sa création.
  4. Dans votre répertoire de travail, créez et exécutez l'exemple:

    python3 chat_message_get_user.py
    

L'API Chat renvoie une instance de Message qui détaille le message spécifié.

Recevoir un message avec authentification de l'application

Pour obtenir des informations sur un message via l'authentification d'application, transmettez les éléments suivants dans votre requête:

  • Spécifiez le champ d'application des autorisations chat.bot.
  • Appelez la méthode get sur la ressource Message.
  • Définissez name sur le nom de ressource du message à récupérer.

L'exemple suivant reçoit un message avec l'authentification de l'application:

Python

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

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = (
        service_account.Credentials.from_service_account_file('credentials.json')
        .with_scopes(SCOPES)
    )
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Get a Chat message.
    result = chat.spaces().messages().get(
    
        # The message 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 MESSAGE with a message name.
        # Obtain the message name from the response body returned
        # after creating a message asynchronously with Chat REST API.
        name='spaces/SPACE/messages/MESSAGE'
    
      ).execute()
    
    # Print Chat API's response in your command line interface.
    print(result)
    
  3. Dans le code, remplacez ce qui suit:

    • SPACE: name de l'espace dans lequel le message est publié, que vous pouvez obtenir à l'aide de la méthode spaces.list de l'API Chat, ou à partir de l'URL d'un espace.

    • MESSAGE: nom du message, que vous pouvez obtenir dans le corps de la réponse renvoyé après avoir créé un message de manière asynchrone avec l'API Chat, ou avec le nom personnalisé attribué au message lors de sa création.

  4. Dans votre répertoire de travail, créez et exécutez l'exemple:

    python3 chat_get_message_app.py
    

L'API Chat renvoie une instance de Message qui détaille le message spécifié.