Quita a un usuario o una app de Google Chat de un espacio

En esta guía, se explica cómo usar el método delete en el recurso membership de la API de Google Chat para quitar un usuario o una app de Chat de un espacio que también se conoce como borrar una membresía. No se pueden quitar los administradores si son el único administrador de un espacio. Asigna a otro usuario como administrador del espacio antes de quitar estas membresías.

El recurso Membership representa si un usuario humano o una app de Google Chat están invitados a un espacio, son parte de él o no lo están.

Requisitos previos

Python

  • Python 3.6 o superior
  • La herramienta de administración de paquetes pip
  • Las bibliotecas cliente de Google más recientes para Python. Para instalarlos o actualizarlos, ejecuta el siguiente comando en tu interfaz de línea de comandos:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Un proyecto de Google Cloud con la API de Google Chat habilitada y configurada Para conocer los pasos, consulta Compila una app de Google Chat.
  • Autorización configurada para la app de Chat. Borrar una membresía requiere la autenticación del usuario con el alcance de autorización chat.memberships o chat.memberships.app de un usuario que tenga permiso para borrar la membresía especificada.

Cómo quitar un usuario o una app de Chat de un espacio

Sigue estos pasos para quitar a un usuario o una app de Chat de un espacio:

  • Para quitar un usuario, especifica el alcance de la autorización chat.memberships. Para quitar una app de Chat, especifica el alcance de la autorización chat.memberships.app (las apps solo pueden borrar su propia membresía, no la de otras apps). Como práctica recomendada, elige el alcance más restrictivo que permita que tu app funcione.
  • Llama al método delete en el recurso membership.
  • Pasa el name de la membresía que quieres borrar. Si la membresía pertenece al único administrador del espacio, asigna a otro usuario como administrador antes de borrar esta membresía.

Sigue estos pasos para borrar una membresía:

Python

  1. En el directorio de trabajo, crea un archivo llamado chat_membership_delete.py.
  2. Incluye el siguiente código en 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. En el código, reemplaza lo siguiente:

    • SPACE: Es un nombre de espacio, que puedes obtener del método spaces.list en la API de Chat, o bien desde la URL de un espacio.

    • MEMBER: Es un nombre de membresía, que puedes obtener del método spaces.members.list en la API de Chat. Para borrar la membresía de una app, reemplaza MEMBER por app.

  4. En el directorio de trabajo, compila y ejecuta la muestra:

    python3 chat_membership_delete.py
    

Si se ejecuta correctamente, el cuerpo de la respuesta muestra la membresía con 'state': 'NOT_A_MEMBER', lo que indica que el miembro ya no está en el espacio.

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