Configurer un espace avec les premiers membres

Ce guide explique comment utiliser la méthode setup sur la ressource Space du API Google Chat pour configurer un espace Google Chat. La configuration d'un espace crée un espace et y ajoute les utilisateurs spécifiés.

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 persistants où les utilisateurs envoient des messages, partagent des fichiers et de collaborer.

Lorsque vous configurez un espace, tenez compte des points suivants:

  • L'utilisateur appelant (authentifié) est automatiquement ajouté à l'espace. Vous pouvez donc n'a pas besoin de spécifier l'adhésion de l'utilisateur dans la demande.
  • Lors de la création d'un message privé (MP), si deux utilisateurs ont échangé un MP : puis le MP est renvoyé. Sinon, un MP est créé.
  • Lors de la création d'un chat de groupe, si aucune des adhésions indiquées dans la demande ont bien été ajoutés au chat de groupe (problème d'autorisation, par exemple), puis un chat de groupe vide (y compris uniquement l'utilisateur appelant) peut être créé.
  • Vous ne pouvez pas configurer d'espaces organisés en fils de discussion ni ajouter de personnes en dehors de votre Google Workspace.
  • Adhésions en double (y compris l'utilisateur appelant) fournies dans la demande sont filtrés au lieu d'entraîner une erreur de requête.

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
    

Node.js

  • Node.js 14 ou version ultérieure
  • La commande npm outil de gestion des paquets
  • 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:
    npm install @google-cloud/local-auth @googleapis/chat
    

Configurer un espace

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

  • Spécifiez le champ d'application de l'autorisation chat.spaces.create ou chat.spaces.
  • Appelez la méthode Méthode setup sur la ressource Space.
  • Pour ajouter un utilisateur humain en tant que membre de l'espace, spécifiez users/{user}, où {user} est soit la {person_id} pour person de l'API People ou de l'identifiant d'un user dans l'API Directory. Par exemple, si l'utilisateur de l'API People resourceName est people/123456789, vous pouvez ajouter l'utilisateur à l'espace en y compris un abonnement avec users/123456789 en tant que member.name.
  • Pour ajouter un groupe en tant que membre de l'espace, spécifiez groups/{group}, où {group} est l'ID du groupe pour lequel vous souhaitez créer une adhésion. L'ID du groupe peut être récupérées à l'aide de l'API Cloud Identity. Par exemple, si l'API Cloud Identity renvoie un groupe nommé groups/123456789, puis définit De membership.groupMember.name à groups/123456789. Google Groupes ne peut pas être ajoutés à un chat de groupe ou à un MP, mais uniquement à un espace nommé.
  • Créer un MP entre l'utilisateur appelant et un autre humain user, spécifiez l'appartenance de l'utilisateur humain dans votre demande.
  • Pour créer un MP entre l'utilisateur appelant et l'application appelante, définissez Space.singleUserBotDm à true et ne spécifiez aucune adhésion. Vous pouvez n'utilisez cette méthode que pour configurer un MP avec l'application appelante. Pour ajouter l'appel application en tant que membre d'un espace ou d'un MP existant entre deux utilisateurs humains, consultez créer un abonnement.

L'exemple suivant crée un espace nommé et des membres pour celui-ci pour un groupe et trois utilisateurs humains (y compris l'utilisateur authentifié et deux d'autres utilisateurs spécifiés).

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_space_setup.py.
  2. Ajoutez le code suivant dans chat_space_setup.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.create"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then sets up a Chat space by creating a space and adding members.
        '''
    
        # 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().setup(
    
          # Details about the space to set up.
          body = {
    
            # Attributes of the space to set up, like space type and display name.
            'space': {
    
                # To set up a named space, set spaceType to SPACE.
                'spaceType': 'SPACE',
    
                # The user-visible name of the space
                'displayName': 'API-setup'
            },
    
            # The users and groups to add to the space.
            #
            # The authenticated user is automatically added to the space,
            # and doesn't need to be specified in the memberships array.
            'memberships': [
                {
                  'member': {
                    'name':'users/123456789',
                    'type': 'HUMAN'
                  }
                },
                {
                  'member': {
                    'name':'users/987654321',
                    'type': 'HUMAN'
                  }
                },
                {
                  'groupMember': {
                    'name': 'groups/11223344'
                  }
                }
            ]
          }
    
          ).execute()
    
        # Prints details about the created space.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Dans votre répertoire de travail, créez et exécutez l'exemple:

    python3 chat_space_setup.py
    

Node.js

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

    const chat = require('@googleapis/chat');
    const {authenticate} = require('@google-cloud/local-auth');
    
    /**
    * Sets up a new Chat space with users.
    * @return {!Promise<!Object>}
    */
    async function setupSpace() {
      const scopes = [
        'https://www.googleapis.com/auth/chat.spaces.create',
      ];
    
      const authClient =
          await authenticate({scopes, keyfilePath: 'client_secrets.json'});
    
      const chatClient = await chat.chat({version: 'v1', auth: authClient});
    
      return await chatClient.spaces.setup({
        requestBody: {
          space: {
            spaceType: 'SPACE',
            displayName: 'API-made',
          },
          memberships: [
            {member: {name: 'users/123456789', type: 'HUMAN'}},
            {member: {name: 'users/987654321', type: 'HUMAN'}},
            {groupMember: {name: 'groups/11223344'}},
          ]
        }
      });
    }
    
    setupSpace().then(console.log);
    
  3. Dans votre répertoire de travail, exécutez l'exemple:

    node setup-space.js
    

Un espace Chat nommé avec un groupe et trois utilisateurs humains, dont les un utilisateur authentifié est configuré.

Pour accéder à l'espace, créez son URL à l'aide de l'ID de ressource de l'espace. Vous pouvez obtenir l'ID de ressource de l'espace name dans la réponse de Google Chat . Par exemple, si le name de votre espace est spaces/1234567, vous pouvez accéder à l'espace à l'aide de l'URL suivante: https://mail.google.com/chat/u/0/#chat/space/1234567