Exclure un membre d'un espace

Ce guide explique comment utiliser la méthode delete sur la ressource membership de l'API Google Chat pour supprimer un membre d'un espace. Les gestionnaires d'un espace ne peuvent pas être supprimés s'ils sont les seuls gestionnaires de l'espace. 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é, membre ou absent d'un espace.

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 suppression d'un membre 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.

Exclure un membre d'un espace

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

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

Pour supprimer un abonnement:

Python

  1. Dans votre répertoire de travail, créez un fichier nommé chat_membership_delete.py.
  2. Ajoutez 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 les éléments suivants:

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

    • MEMBER: nom d'appartenance que vous pouvez obtenir à partir de la méthode spaces.members.list dans l'API Chat. Pour supprimer l'abonnement d'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"
}