Ce guide explique comment utiliser la méthode setup
sur la ressource Space
de l'API Google Chat pour configurer un espace Google Chat. Configurer un espace crée un espace
et y ajoute les utilisateurs spécifiés.
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 au moins trois utilisateurs et des applications Chat.
- Les espaces nommés sont des espaces persistants où les utilisateurs peuvent envoyer des messages, partager des fichiers et collaborer.
Lorsque vous configurez un espace, tenez compte des points suivants:
- L'utilisateur appelant (authentifié) est automatiquement ajouté à l'espace. Vous n'avez donc pas besoin de spécifier son appartenance à la requête.
- Lors de la création d'un message privé (MP), s'il existe un MP entre deux utilisateurs, il est renvoyé. Sinon, un MP est créé.
- Lors de la création d'un chat de groupe, si aucune des adhésions fournies dans la requête n'est correctement ajoutée (par exemple, en cas de problème d'autorisation), un chat de groupe vide (n'incluant que l'utilisateur appelant) peut être créé.
- Vous ne pouvez pas configurer d'espaces avec des fils de discussion ni ajouter de personnes en dehors de votre Google Workspace.
- Les adhésions en double (y compris l'utilisateur appelant) fournies dans la requête sont filtrées au lieu d'entraîner une erreur de requête.
Conditions préalables
Python
- Python 3.6 ou version ultérieure
- L'outil de gestion de 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 dans lequel l'API Google Chat est 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. La configuration d'un espace nécessite une authentification de l'utilisateur avec le champ d'application d'autorisation
chat.spaces.create
ouchat.spaces
.
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 dans lequel l'API Google Chat est 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. La création d'un espace nécessite une authentification de l'utilisateur avec le champ d'application d'autorisation
chat.spaces.create
ouchat.spaces
.
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
ouchat.spaces
. - Appelez la méthode
setup
sur la ressourceSpace
. - Pour ajouter un utilisateur humain en tant que membre de l'espace, spécifiez
users/{user}
, où{user}
est soit le{person_id}
pour leperson
de l'API People, soit l'ID d'unuser
dans l'API Directory. Par exemple, si la personneresourceName
de l'API People estpeople/123456789
, vous pouvez ajouter l'utilisateur à l'espace en incluant un membre avecusers/123456789
commemember.name
. - Pour ajouter un groupe en tant que membre d'un espace, spécifiez
groups/{group}
, où{group}
est l'ID du groupe pour lequel vous souhaitez créer un membre. Vous pouvez récupérer l'ID du groupe à l'aide de l'API Cloud Identity. Par exemple, si l'API Cloud Identity renvoie un groupe portant le nomgroups/123456789
, définissezmembership.groupMember.name
surgroups/123456789
. Vous ne pouvez pas ajouter de groupes Google Groupes à un chat de groupe ou à un MP, mais uniquement à un espace nommé. - Pour créer un MP entre l'utilisateur appelant et un autre utilisateur humain, spécifiez l'appartenance de cet utilisateur humain à votre requête.
- Pour créer un MP entre l'utilisateur appelant et l'application appelante, définissez
Space.singleUserBotDm
surtrue
et ne spécifiez aucune adhésion. Vous ne pouvez utiliser cette méthode que pour configurer un MP avec l'application appelante. Pour ajouter l'application appelante 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 adhésions à cet espace pour un groupe et trois utilisateurs humains (y compris l'utilisateur authentifié et deux autres utilisateurs spécifiés).
Python
- Dans votre répertoire de travail, créez un fichier nommé
chat_space_setup.py
. 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()
Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_space_setup.py
Node.js
- Dans votre répertoire de travail, créez un fichier nommé
setup-space.js
. 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);
Dans votre répertoire de travail, exécutez l'exemple:
node setup-space.js
Un espace Chat nommé comprenant un groupe et trois utilisateurs humains, y compris l'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 à partir de l'espace name
dans le corps de la réponse Google Chat. Par exemple, si le name
de votre espace est spaces/1234567
, vous pouvez y accéder à l'aide de l'URL suivante : https://mail.google.com/chat/u/0/#chat/space/1234567
.
Articles associés
- Créez un espace.
- En savoir plus sur un espace
- Répertorier les espaces
- Mettre à jour un espace
- Supprimer un espace
- Recherchez un espace de messagerie privée.
- Rendre un espace visible par des utilisateurs spécifiques