Ce guide explique comment utiliser la méthode update()
sur la ressource Membership
de l'API Google Chat pour modifier les attributs d'un membre, par exemple changer un membre d'un espace en tant que gestionnaire ou un gestionnaire d'espace en membre d'un espace.
Si vous êtes administrateur Google Workspace, vous pouvez appeler la méthode update()
pour mettre à jour l'appartenance de n'importe quel espace dans votre organisation Google Workspace.
La ressource Membership
indique si un utilisateur humain ou une application Google Chat est invité à un espace, en fait partie ou en est absent.
Prérequis
Node.js
- Compte Google Workspace Business ou Enterprise ayant accès à Google Chat.
- Configurez votre environnement :
- Créez un projet Google Cloud.
- Configurez l'écran de consentement OAuth.
- Activez et configurez l'API Google Chat avec un nom, une icône et une description pour votre application Chat.
- Installez la bibliothèque cliente Cloud Node.js.
- Créez des identifiants d'accès en fonction de la méthode d'authentification que vous souhaitez utiliser dans votre requête API Google Chat :
- Pour vous authentifier en tant qu'utilisateur Chat, créez des identifiants d'ID client OAuth et enregistrez-les en tant que fichier JSON nommé
client_secrets.json
dans votre répertoire local. - Pour vous authentifier en tant qu'application Chat, créez des identifiants de compte de service et enregistrez-les en tant que fichier JSON nommé
credentials.json
.
- Pour vous authentifier en tant qu'utilisateur Chat, créez des identifiants d'ID client OAuth et enregistrez-les en tant que fichier JSON nommé
- Choisissez un champ d'application de l'autorisation en fonction de votre choix d'authentification en tant qu'utilisateur ou en tant qu'application Chat.
Modifier un abonnement
Pour mettre à jour l'appartenance à un espace, transmettez les éléments suivants dans votre requête:
- Spécifiez un champ d'application de l'autorisation :
- Avec l'authentification des utilisateurs, spécifiez le champ d'application de l'autorisation
chat.memberships
. - Avec l'authentification de l'application (disponible en version Preview développeur), spécifiez le champ d'application
chat.app.memberships
. Lorsque vous mettez à jour une appartenance avec l'authentification par application, vous ne pouvez le faire que dans les espaces créés par des applications Chat. L'authentification des applications nécessite une approbation de l'administrateur unique.
- Avec l'authentification des utilisateurs, spécifiez le champ d'application de l'autorisation
- Appelez la méthode
UpdateMembership()
. - Transmettez
membership
en tant qu'instance deMembership
avec les éléments suivants :- Le champ
name
défini sur l'appartenance à mettre à jour, qui comprend un ID d'espace et un ID de membre. - Les champs d'appartenance à mettre à jour sont définis sur les nouvelles valeurs.
- Le champ
- Transmettez
updateMask
pour spécifier les aspects de l'abonnement à mettre à jour. Il comprend 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 l'envoi de messages dans l'espace. Dans les conversations privées et de groupe sans nom, tous les participants ont ce rôle.ROLE_MANAGER
: gestionnaire d'espace. L'utilisateur dispose de toutes les autorisations de base, ainsi que d'autorisations administratives qui lui permettent de gérer l'espace, par exemple en ajoutant ou en supprimant des membres. Compatible uniquement avec les espaces oùspaceType
estSPACE
(espaces nommés).
Désigner un membre standard de l'espace comme gestionnaire en tant qu'utilisateur
L'exemple suivant appelle l'API Chat à l'aide de l'authentification des utilisateurs pour faire d'un membre ordinaire d'un espace un gestionnaire de l'espace en spécifiant role
comme ROLE_MANAGER
:
Node.js
Pour exécuter l'exemple, remplacez les éléments suivants:
SPACE_NAME
: ID de l'name
de l'espace. Vous pouvez obtenir l'ID en appelant la méthodeListSpaces()
ou à partir de l'URL de l'espace.MEMBER_NAME
: ID de l'élémentname
de l'abonnement. Vous pouvez obtenir l'ID en appelant la méthodeListMemberships()
ou à partir du corps de la réponse renvoyé après avoir créé une adhésion de manière asynchrone avec l'API Chat.ROLE_NAME
: le rôle mis à jour,ROLE_MANAGER
.
L'API Google Chat met à jour l'appartenance spécifiée en tant que gestionnaire d'espace et renvoie une instance de Membership
.
Désigner un gestionnaire d'espace comme membre régulier
L'exemple suivant appelle l'API Chat à l'aide de l'authentification des utilisateurs pour faire d'un gestionnaire d'espace un membre ordinaire de l'espace en spécifiant role
comme ROLE_MEMBER
:
Node.js
Pour exécuter l'exemple, remplacez les éléments suivants:
SPACE_NAME
: ID dename
de l'espace. Vous pouvez obtenir l'ID en appelant la méthodeListSpaces()
ou à partir de l'URL de l'espace.MEMBER_NAME
: ID de l'name
de l'appartenance. Vous pouvez obtenir l'ID en appelant la méthodeListMemberships()
ou à partir du corps de la réponse renvoyé après avoir créé une adhésion de manière asynchrone avec l'API Chat.ROLE_NAME
: le rôle mis à jour,ROLE_MEMBER
.
L'API Google Chat met à jour l'appartenance spécifiée en tant que gestionnaire d'espace et renvoie une instance de Membership
.
Désigner un membre d'un espace comme gestionnaire de l'espace en tant qu'application Chat
L'authentification des applications nécessite une approbation de l'administrateur unique.
Créer une clé API
Pour appeler une méthode d'API Preview développeur, vous devez utiliser une version Preview développeur non publique du document de découverte de l'API. Pour authentifier la requête, vous devez transmettre une clé API.
Pour créer la clé API, ouvrez le projet Google Cloud de votre application et procédez comme suit:
- Dans la console Google Cloud, accédez à Menu > API et services > Identifiants.
- Cliquez sur Créer des identifiants > Clé API.
- Votre nouvelle clé API s'affiche.
- Cliquez sur Copier pour copier votre clé API et l'utiliser dans le code de votre application. La clé API se trouve également dans la section "Clés API" des identifiants de votre projet.
- Cliquez sur Restreindre la clé pour mettre à jour les paramètres avancés et limiter l'utilisation de votre clé API. Pour en savoir plus, consultez Appliquer des restrictions de clé API.
Écrire un script qui appelle l'API Chat
L'exemple suivant appelle l'API Chat à l'aide de l'authentification des applications pour désigner un membre standard de l'espace comme gestionnaire de l'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_to_manager_app.py
. Incluez le code suivant dans
chat_membership_update_to_manager_app.py
:from google.oauth2 import service_account from apiclient.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.app.memberships"] def main(): ''' Authenticates with Chat API using app authentication, then updates a specified space member to change it from a regular member to a space manager. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # 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 les éléments suivants:
API_KEY
: clé API que vous avez créée pour créer le point de terminaison de service de l'API Chat.SPACE
: nom d'un espace, que vous pouvez obtenir à partir de la méthodespaces.list
dans l'API Chat ou à partir de l'URL d'un espace.MEMBERSHIP
: nom d'un abonnement, 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_to_manager_app.py
Désigner un gestionnaire d'espace comme membre ordinaire dans l'application Chat
L'authentification des applications nécessite une approbation de l'administrateur unique.
Créer une clé API
Pour appeler une méthode d'API Preview développeur, vous devez utiliser une version Preview développeur non publique du document de découverte de l'API. Pour authentifier la requête, vous devez transmettre une clé API.
Pour créer la clé API, ouvrez le projet Google Cloud de votre application et procédez comme suit:
- Dans la console Google Cloud, accédez à Menu > API et services > Identifiants.
- Cliquez sur Créer des identifiants > Clé API.
- Votre nouvelle clé API s'affiche.
- Cliquez sur Copier pour copier votre clé API et l'utiliser dans le code de votre application. La clé API se trouve également dans la section "Clés API" des identifiants de votre projet.
- Cliquez sur Restreindre la clé pour mettre à jour les paramètres avancés et limiter l'utilisation de votre clé API. Pour en savoir plus, consultez Appliquer des restrictions de clé API.
Écrire un script qui appelle l'API Chat
L'exemple suivant appelle l'API Chat à l'aide de l'authentification des applications pour désigner un gestionnaire d'espace comme membre ordinaire 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_to_member_app.py
. Incluez le code suivant dans
chat_membership_update_to_member_app.py
:from google.oauth2 import service_account from apiclient.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.app.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. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY') # 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 les éléments suivants:
API_KEY
: clé API que vous avez créée pour créer le point de terminaison de service de l'API Chat.SPACE
: nom d'un espace, que vous pouvez obtenir à partir de la méthodespaces.list
dans l'API Chat ou à partir de l'URL d'un espace.MEMBERSHIP
: nom d'un abonnement, 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_to_member_app.py
Modifier les abonnements en tant qu'administrateur Google Workspace
Si vous êtes administrateur Google Workspace, vous pouvez appeler la méthode update()
pour mettre à jour les appartenances de n'importe quel espace de votre organisation Google Workspace.
Pour appeler cette méthode en tant qu'administrateur Google Workspace, procédez comme suit:
- Appelez la méthode à l'aide de l'authentification utilisateur et spécifiez un champ d'application de l'autorisation compatible avec l'appel de la méthode à l'aide de droits d'administrateur.
- Dans votre requête, spécifiez
true
pour le paramètre de requêteuseAdminAccess
.
Pour en savoir plus et obtenir des exemples, consultez Gérer les espaces Google Chat en tant qu'administrateur Google Workspace.
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 dans l'application Chat.
- Répertoriez les membres d'un espace.
- Supprimer un utilisateur ou une application Chat d'un espace