Ce guide explique comment utiliser la méthode delete()
sur la ressource Membership
de l'API Google Chat pour supprimer des membres d'un espace, également appelé "suppression d'un accès". Les gestionnaires d'un espace ne peuvent pas être supprimés s'ils sont les seuls à gérer l'espace. Désignez un autre utilisateur comme gestionnaire de l'espace avant de supprimer ces adhésions.
Si vous êtes administrateur Google Workspace, vous pouvez supprimer des utilisateurs, des groupes Google ou des applications Chat de n'importe quel espace de 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 en attribuant un nom, une icône et une description à 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.
- Espace Google Chat Pour en créer un à l'aide de l'API Google Chat, consultez la section Créer un espace. Pour en créer un dans Chat, consultez la documentation du centre d'aide.
Supprimer un membre d'un espace en tant qu'utilisateur
Pour supprimer un utilisateur, un groupe Google ou une application Chat d'un espace avec authentification des utilisateurs, transmettez les éléments suivants dans votre requête:
- Spécifiez le champ d'application de l'autorisation
chat.memberships
. L'utilisateur qui autorise la suppression doit disposer de l'autorisation de supprimer l'utilisateur ou le groupe Google de l'espace. Pour supprimer une application Chat, spécifiez le champ d'applicationchat.memberships.app
(les applications ne peuvent supprimer que leur propre appartenance, et non celle d'autres applications). Nous vous recommandons de choisir le champ d'application le plus restrictif qui permet toujours à votre application de fonctionner. - Appelez la méthode
DeleteMembership()
. - Transmettez l'
name
de l'abonnement à supprimer. Si l'appartenance appartient au seul gestionnaire de l'espace, attribuez un autre utilisateur en tant que gestionnaire de l'espace avant de supprimer cette appartenance.
Pour supprimer un abonnement avec authentification des utilisateurs:
Node.js
Pour exécuter cet 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'name
du membre. Vous pouvez obtenir l'ID en appelant la méthodeListMemberships()
.
Si la requête aboutit, le corps de la réponse renvoie l'appartenance avec 'state': 'NOT_A_MEMBER'
, ce qui indique que le membre ne se trouve plus dans l'espace.
{ "name": "spaces/SPACE_NAME/members/MEMBER_NAME", "state": "NOT_A_MEMBER" }
Exclure un membre d'un espace en tant qu'application Chat
L'authentification de l'application nécessite une approbation de l'administrateur unique.
Pour supprimer un utilisateur, un groupe Google ou une application Chat d'un espace avec authentification par application, transmettez les éléments suivants dans votre requête:
- Spécifiez le champ d'application de l'autorisation
chat.app.memberships
. La suppression de l'appartenance d'un gestionnaire d'espace n'est possible que dans les espaces créés par des applications Chat. - Appelez la méthode
delete
sur la ressourcemembership
. - Transmettez l'
name
de l'abonnement à supprimer. Si l'appartenance appartient au seul gestionnaire de l'espace, attribuez un autre utilisateur en tant que gestionnaire de l'espace avant de supprimer cette appartenance.
Créer une clé API
Pour appeler une méthode d'API en version Preview développeur, vous devez utiliser une version non publique de la version Preview développeur 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
Pour supprimer un abonnement avec l'authentification par application:
Python
- Dans votre répertoire de travail, créez un fichier nommé
chat_membership_delete_app.py
. Incluez le code suivant dans
chat_membership_delete_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 deletes the specified membership. ''' # 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().delete( # The membership to delete. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBER with a membership name. # Obtain the membership name from the memberships resource of # Chat API. To delete a Chat app's membership, replace MEMBER # with app; an alias for the app calling the API. name='spaces/SPACE/members/MEMBER' ).execute() # Print Chat API's response in your command line interface. # When deleting a membership, the response body is empty. 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.MEMBER
: nom d'un abonnement, que vous pouvez obtenir à partir de la méthodespaces.members.list
dans l'API Chat. Pour supprimer l'abonnement d'une application, remplacezMEMBER
parapp
.
Dans votre répertoire de travail, créez et exécutez l'exemple:
python3 chat_membership_delete_app.py
Si la requête aboutit, le corps de la réponse renvoie l'appartenance avec 'state': 'NOT_A_MEMBER'
, ce qui indique que le membre ne se trouve plus dans l'espace.
{ "name": "spaces/SPACE/members/MEMBER", "state": "NOT_A_MEMBER" }
Limites et points à noter
- Avec l'authentification de l'application, une application Chat peut supprimer des utilisateurs, mais pas des groupes Google.
Supprimer des utilisateurs ou des groupes Google d'un espace en tant qu'administrateur Google Workspace
Si vous êtes administrateur Google Workspace, vous pouvez appeler la méthode DeleteMembership()
pour supprimer des utilisateurs, des groupes Google ou des applications Chat 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, définissez le paramètre de requête
useAdminAccess
surtrue
.
Pour en savoir plus et obtenir des exemples, consultez Gérer les espaces Google Chat en tant qu'administrateur Google Workspace.
Articles associés
- Obtenir des informations sur l'abonnement d'un utilisateur ou d'une application Chat
- Répertoriez les membres d'un espace.
- Modifier l'appartenance d'un utilisateur à un espace Google Chat
- Inviter ou ajouter un utilisateur ou une application Chat à un espace