Quita a un miembro 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 miembros de un espacio, también conocido como membresía. No se puede quitar a los administradores del espacio si son el único administrador del espacio en un espacio. Asigna a otro usuario como administrador del espacio antes de quitar a estos usuarios membresías.

El Recurso Membership representa si se invita a un usuario humano o a una app de Google Chat es parte de un espacio o está ausente.

Requisitos previos

Python

Quita a un miembro de un espacio

Para quitar a un usuario, un Grupo de Google o una app de Chat de una espacio:

  • Para quitar un usuario o un Grupo de Google, especifica la autorización de chat.memberships del proyecto. Para quitar una app de Chat, especifica chat.memberships.app permiso de autorización (las apps solo pueden borrar su propio membership; no con la de otras apps). Como práctica recomendada, elige la más restrictivo que permita que tu app funcione.
  • Realiza una llamada al método delete. en la Recurso membership.
  • Pasa el name de la membresía que quieres borrar. Si la membresía pertenece al en un espacio, asigna a otro usuario como administrador eliminando esta membresía.

Para borrar una membresía, sigue estos pasos:

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 desde Método spaces.list en la API de Chat o desde la URL de un espacio.

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

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

    python3 chat_membership_delete.py

Si el proceso es satisfactorio, el cuerpo de la respuesta devuelve 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"
}