Supprimer un utilisateur ou une application Google Chat d'un espace

Ce guide explique comment utiliser la méthode delete sur la ressource membership de l'API Google Chat pour supprimer un utilisateur ou une application Chat d'un espace (également appelé suppression d'abonnement). Vous ne pouvez pas supprimer un gestionnaire d'espace s'il en est le seul gestionnaire. Désignez un autre utilisateur comme gestionnaire de l'espace avant de supprimer ces membres.

La ressource Membership indique si un utilisateur humain ou une application Google Chat est invité à un espace, en fait partie ou absent.

Prérequis

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 suppression d'une appartenance nécessite une authentification de l'utilisateur avec le niveau d'autorisation chat.memberships ou chat.memberships.app de la part d'un utilisateur autorisé à supprimer l'appartenance spécifiée.

Supprimer un utilisateur ou une application Chat d'un espace

Pour supprimer un utilisateur ou une application Chat d'un espace:

  • Pour supprimer un utilisateur, spécifiez le champ d'application des autorisations chat.memberships. Pour supprimer une application Chat, spécifiez le champ d'application des autorisations chat.memberships.app (les applications ne peuvent supprimer que leur propre appartenance, et non celle des autres applications). Nous vous recommandons de choisir le champ d'application le plus restrictif qui permette toujours à votre application de fonctionner.
  • Appelez la méthode delete sur la ressource membership.
  • Transmettez le name de l'abonnement à supprimer. Si l'abonnement appartient au seul gestionnaire d'un espace, désignez un autre utilisateur comme gestionnaire avant de le supprimer.

Pour supprimer un abonnement:

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_membership_delete.py.
  2. Incluez le code suivant dans chat_membership_delete.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.app"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then deletes the specified membership.
        '''
    
        # 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().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()
    
  3. Dans le code, remplacez ce qui suit:

    • SPACE: nom d'espace, que vous pouvez obtenir à l'aide de la méthode spaces.list de l'API Chat ou de l'URL d'un espace.

    • MEMBER: nom d'appartenance, que vous pouvez obtenir à partir de la méthode spaces.members.list de l'API Chat. Pour supprimer l'appartenance à une application, remplacez MEMBER par app.

  4. Dans votre répertoire de travail, créez et exécutez l'exemple:

    python3 chat_membership_delete.py
    

Si la requête aboutit, le corps de la réponse renvoie l'appartenance avec 'state': 'NOT_A_MEMBER', indiquant que le membre ne fait plus partie de l'espace.

{
    "name": "spaces/SPACE/members/MEMBER",
    "state": "NOT_A_MEMBER"
}