Obtenir des informations sur un espace

Ce guide explique comment utiliser la méthode get sur une ressource Space du API Google Chat pour consulter les détails d'un espace, comme son nom à afficher, sa description, et consignes.

La Ressource Space représente un endroit 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 Applications de chat
  • Les espaces nommés sont des espaces permanents où les utilisateurs envoient des messages, partagent des fichiers et collaborer.

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

Prérequis

Python

Node.js

Obtenir un espace

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

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

Voici comment obtenir des informations sur l'espace avec authentification de l'utilisateur:

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_space_get_user.py.
  2. Ajoutez 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 un nom d'espace, ce qui que vous pouvez obtenir Méthode spaces.list dans l'API Chat ou via 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. Ajoutez 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 un nom d'espace, ce qui que vous pouvez obtenir Méthode spaces.list dans l'API Chat ou via 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 avec l'authentification des applications

Voici comment obtenir des informations sur l'espace avec authentification de l'application:

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_space_get_app.py.
  2. Ajoutez 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, ce qui que vous pouvez obtenir la méthode spaces.list() dans la l'API Chat ou 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. Ajoutez 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 un nom d'espace, ce qui que vous pouvez obtenir Méthode spaces.list dans l'API Chat ou via 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é.