Obtenir des informations sur un espace

Ce guide explique comment utiliser la méthode get sur une ressource Space de l'API Google Chat pour afficher des informations sur un espace, comme son nom à afficher, sa description et ses consignes.

La ressource Space représente un emplacement où les utilisateurs et les applications Chat peuvent envoyer des messages, partager des fichiers et collaborer. Il existe plusieurs types d'espaces:

  • Les messages privés (MP) sont des conversations entre deux utilisateurs ou un utilisateur et une application Chat.
  • Les chats de groupe sont des conversations entre trois utilisateurs ou plus et des applications Chat.
  • Les espaces nommés sont des espaces persistants où les utilisateurs envoient des messages, partagent des fichiers et collaborent.

L'authentification de l'application permet à une application Chat d'obtenir les espaces auxquels elle a accès dans Google Chat (par exemple, les espaces dont l'application est membre). L'authentification de l'utilisateur vous permet d'obtenir des espaces auxquels l'utilisateur authentifié a accès.

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 google-auth
    
  • 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 espace est compatible avec les deux méthodes d'authentification suivantes:

Node.js

  • Node.js et npm
  • Les dernières bibliothèques clientes Google pour Node.js. Pour les installer, exécutez la commande suivante dans votre interface de ligne de commande:

    npm install @google-cloud/local-auth @googleapis/chat
    
  • 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 espace est compatible avec les deux méthodes d'authentification suivantes:

Obtenir un espace

Pour obtenir un espace dans Google Chat, transmettez les éléments suivants dans votre requête:

  • Avec l'authentification d'application, spécifiez le champ d'application des autorisations chat.bot. Avec l'authentification utilisateur, spécifiez le champ d'application des autorisations chat.spaces.readonly ou chat.spaces.
  • Appelez la méthode get sur la ressource Space, en transmettant la valeur name de l'espace à obtenir. Vous pouvez obtenir le nom d'un espace à partir de la ressource d'espaces de Google Chat ou de l'URL d'un espace.

Obtenir des informations sur un espace grâce à l'authentification des utilisateurs

Voici comment obtenir des détails sur l'espace grâce à l'authentification des utilisateurs:

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_space_get_user.py.
  2. Incluez le code suivant dans chat_space_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.spaces.readonly"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then gets details about a specified space.
        '''
    
        # 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().get(
    
              # The space 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.
              name='spaces/SPACE'
    
          ).execute()
    
        # Prints details about the space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dans le code, remplacez SPACE par le nom d'un espace, que vous pouvez obtenir à partir de la méthode spaces.list de l'API Chat ou de l'URL d'un espace.

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

    python3 chat_space_get_user.py
    

Node.js

  1. Dans votre répertoire de travail, créez un fichier nommé get-space.js.
  2. Incluez le code suivant dans get-space.js:

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Object}
    */
    async function getSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.readonly',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  3. Dans le code, remplacez SPACE par le nom d'un espace, que vous pouvez obtenir à partir de la méthode spaces.list de l'API Chat ou de l'URL d'un espace.

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

    node get-space.js
    

L'API Chat renvoie une instance de Space qui détaille l'espace spécifié.

Obtenir des informations sur un espace grâce à l'authentification d'application

Voici comment obtenir des détails sur l'espace à l'aide de l'authentification d'application:

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_space_get_app.py.
  2. Incluez le code suivant dans chat_space_get_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)
    
    # Use the service endpoint to call Chat API.
    result = chat.spaces().get(
    
        # The space 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.
        name='spaces/SPACE'
    
    ).execute()
    
    print(result)
    
  3. Dans le code, remplacez SPACE par un nom d'espace, que vous pouvez obtenir à partir de la méthode spaces.list() dans l'API Chat ou de l'URL d'un espace.

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

    python3 chat_space_get_app.py
    

Node.js

  1. Dans votre répertoire de travail, créez un fichier nommé app-get-space.js.
  2. Incluez le code suivant dans app-get-space.js:

    const chat = require('@googleapis/chat');
    
    /**
    * Gets details about a Chat space by name.
    * @return {!Promise<!Object>}
    */
    async function getSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.bot',
      ];
    
      const auth = new chat.auth.GoogleAuth({
        scopes,
        keyFilename: 'credentials.json',
      });
    
      const authClient = await auth.getClient();
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.get({name: 'spaces/SPACE'});
    }
    
    getSpace().then(console.log);
    
  3. Dans le code, remplacez SPACE par le nom d'un espace, que vous pouvez obtenir à partir de la méthode spaces.list de l'API Chat ou de l'URL d'un espace.

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

    node app-get-space.js
    

L'API Chat renvoie une instance de Space qui détaille l'espace spécifié.