Ce guide explique comment utiliser la méthode patch
sur la ressource membership
de l'API Google Chat pour modifier les attributs d'un espace (par exemple, pour donner le statut de gestionnaire à un membre de l'espace ou transformer ce gestionnaire en membre d'espace).
La ressource Membership
indique si un utilisateur humain ou une application Google Chat est invité à un espace, en fait partie ou absent.
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. La mise à jour d'une appartenance nécessite une authentification de l'utilisateur avec le niveau d'autorisation
chat.memberships
ou, si vous importez des données dans Chat, le niveau d'autorisationchat.import
.
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. La mise à jour d'une appartenance nécessite une authentification de l'utilisateur avec le niveau d'autorisation
chat.memberships
ou, si vous importez des données dans Chat, le niveau d'autorisationchat.import
.
Apps Script ;
- Un compte Google Workspace ayant accès à Google Chat
- Une application Chat publiée. Pour créer une application Chat, suivez ce quickstart.
- Autorisation configurée pour l'application Chat. La mise à jour d'une appartenance nécessite une authentification de l'utilisateur avec le niveau d'autorisation
chat.memberships
ou, si vous importez des données dans Chat, le niveau d'autorisationchat.import
.
Modifier un abonnement
Pour modifier la liste des membres d'un espace, transmettez les éléments suivants dans votre demande:
- Spécifiez le champ d'application des autorisations
chat.memberships
. - Appelez la méthode
patch
sur la ressourceMembership
, puis transmettez lename
de l'appartenance à mettre à jour, ainsi qu'unupdateMask
et unbody
qui spécifient les attributs d'appartenance mis à jour. updateMask
spécifie les aspects de l'appartenance à mettre à jour et inclut les éléments suivants :role
: rôle de l'utilisateur dans un espace Chat, qui détermine les actions autorisées dans l'espace. Les valeurs possibles sont les suivantes :ROLE_MEMBER
: membre de l'espace. L'utilisateur dispose d'autorisations de base, comme envoyer des messages à l'espace. Dans les conversations de groupe individuelles et sans nom, tout le monde a ce rôle.ROLE_MANAGER
: gestionnaire de l'espace. L'utilisateur dispose de toutes les autorisations de base, ainsi que des autorisations d'administration qui lui permettent de gérer l'espace, comme ajouter ou supprimer des membres. Uniquement disponible dans les espaces oùspaceType
estSPACE
(espaces nommés).
Désigner un membre standard de l'espace comme gestionnaire de l'espace
L'exemple suivant définit un membre d'espace standard comme gestionnaire d'espace en spécifiant role
comme ROLE_MANAGER
dans le body
qui spécifie les attributs d'appartenance mis à jour:
Python
- Dans votre répertoire de travail, créez un fichier nommé
chat_membership_update.py
. Incluez le code suivant dans
chat_membership_update.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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # 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().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MANAGER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
Dans le code, remplacez ce qui suit:
SPACE
: nom d'espace, que vous pouvez obtenir à l'aide de la méthodespaces.list
de l'API Chat ou de l'URL d'un espace.MEMBERSHIP
: nom d'appartenance, que vous pouvez obtenir à partir de la méthodespaces.members.list
de l'API Chat.
Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_membership_update.py
Node.js
- Dans votre répertoire de travail, créez un fichier nommé
chat_membership_update.js
. Incluez le code suivant dans
chat_membership_update.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Updates a membership in a Chat space to change it from * a space member to a space manager. * @return {!Promise<!Object>} */ async function updateSpace() { /** * Authenticate with Google Workspace * and get user authorization. */ const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); /** * Build a service endpoint for Chat API. */ const chatClient = await chat.chat({version: 'v1', auth: authClient}); /** * Use the service endpoint to call Chat API. */ return await chatClient.spaces.patch({ /** * The membership to update, and the updated role. * * Replace SPACE with a space name. * Obtain the space name from the spaces resource of Chat API, * or from a space's URL. * * Replace MEMBERSHIP with a membership name. * Obtain the membership name from the membership of Chat API. */ name: 'spaces/SPACE/members/MEMBERSHIP', updateMask: 'role', requestBody: { role: 'ROLE_MANAGER' } }); } /** * Use the service endpoint to call Chat API. */ updateSpace().then(console.log);
Dans le code, remplacez ce qui suit:
SPACE
: nom d'espace, que vous pouvez obtenir à l'aide de la méthodespaces.list
de l'API Chat ou de l'URL d'un espace.MEMBERSHIP
: nom d'appartenance, que vous pouvez obtenir à partir de la méthodespaces.members.list
de l'API Chat.
Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_membership_update.js
Apps Script ;
Cet exemple appelle l'API Chat à l'aide du service Chat avancé.
Ajoutez le champ d'application des autorisations
chat.memberships
au fichierappsscript.json
du projet Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships" ]
Ajoutez une fonction comme celle-ci au code du projet Apps Script:
/** * Updates a membership from space member to space manager. * @param {string} memberName The resource name of the membership. */ function updateMembershipToSpaceManager(memberName) { try { const body = {'role': 'ROLE_MANAGER'}; Chat.Spaces.Members.patch(memberName, body); } catch (err) { // TODO (developer) - Handle exception console.log('Failed to create message with error %s', err.message); } }
L'API Google Chat remplace l'appartenance spécifiée par un gestionnaire d'espace et renvoie une instance de Membership
détaillant la modification.
Désigner un gestionnaire d'espace comme simple membre
L'exemple suivant fait d'un gestionnaire d'espace un membre standard de l'espace en spécifiant role
comme ROLE_MEMBER
dans le body
qui spécifie les attributs d'appartenance mis à jour:
Python
- Dans votre répertoire de travail, créez un fichier nommé
chat_membership_update.py
. Incluez le code suivant dans
chat_membership_update.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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # 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().members().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MEMBER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
Dans le code, remplacez ce qui suit:
SPACE
: nom d'espace, que vous pouvez obtenir à l'aide de la méthodespaces.list
de l'API Chat ou de l'URL d'un espace.MEMBERSHIP
: nom d'appartenance, que vous pouvez obtenir à partir de la méthodespaces.members.list
de l'API Chat.
Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_membership_update.py
Node.js
- Dans votre répertoire de travail, créez un fichier nommé
chat_membership_update.js
. Incluez le code suivant dans
chat_membership_update.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Updates a membership in a Chat space to change it from * a space manager to a space member. * @return {!Promise<!Object>} */ async function updateSpace() { /** * Authenticate with Google Workspace * and get user authorization. */ const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); /** * Build a service endpoint for Chat API. */ const chatClient = await chat.chat({version: 'v1', auth: authClient}); /** * Use the service endpoint to call Chat API. */ return await chatClient.spaces.patch({ /** * The membership to update, and the updated role. * * Replace SPACE with a space name. * Obtain the space name from the spaces resource of Chat API, * or from a space's URL. * * Replace MEMBERSHIP with a membership name. * Obtain the membership name from the membership of Chat API. */ name: 'spaces/SPACE/members/MEMBERSHIP', updateMask: 'role', requestBody: { role: 'ROLE_MEMBER' } }); } /** * Use the service endpoint to call Chat API. */ updateSpace().then(console.log);
Dans le code, remplacez ce qui suit:
SPACE
: nom d'espace, que vous pouvez obtenir à l'aide de la méthodespaces.list
de l'API Chat ou de l'URL d'un espace.MEMBERSHIP
: nom d'appartenance, que vous pouvez obtenir à partir de la méthodespaces.members.list
de l'API Chat.
Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_membership_update.js
Apps Script ;
Cet exemple appelle l'API Chat à l'aide du service Chat avancé.
Ajoutez le champ d'application des autorisations
chat.memberships
au fichierappsscript.json
du projet Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships" ]
Ajoutez une fonction comme celle-ci au code du projet Apps Script:
/** * Updates a membership from space manager to space member. * @param {string} memberName The resource name of the membership. */ function updateMembershipToSpaceMember(memberName) { try { const body = {'role': 'ROLE_MEMBER'}; Chat.Spaces.Members.patch(memberName, body); } catch (err) { // TODO (developer) - Handle exception console.log('Failed to create message with error %s', err.message); } }
L'API Google Chat remplace l'appartenance spécifiée par un gestionnaire d'espace et renvoie une instance de Membership
détaillant la modification.
Articles associés
- Inviter ou ajouter un utilisateur ou une application Google Chat à un espace
- Obtenez des informations sur l'adhésion d'un utilisateur ou d'une application Chat.
- Répertorier les membres d'un espace
- Supprimer un utilisateur ou une application Chat d'un espace