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 borrar una membresía. No se puede quitar a un administrador de un espacio si es el único. Asigna a otro usuario como administrador del espacio antes de quitar estas membresías.
Si eres administrador de Google Workspace, puedes quitar usuarios, Grupos de Google o apps de Chat de cualquier espacio de tu organización de Google Workspace.
El
recurso Membership
representa si un usuario humano o la app de Google Chat están invitados a un espacio, forman parte de él o no están presentes.
Requisitos previos
Node.js
- Una cuenta de Google Workspace para empresas o empresas con acceso a Google Chat
- Configura tu entorno:
- Crea un proyecto de Google Cloud
- Configura la pantalla de consentimiento de OAuth.
- Habilita y configura la API de Google Chat con un nombre, un ícono y una descripción para tu app de Chat.
- Instala la biblioteca cliente de Cloud para Node.js.
- Crea credenciales de acceso según la forma en que deseas autenticarte en tu solicitud a la API de Google Chat:
- Para autenticarte como usuario de Chat,
crea credenciales de ID de cliente de OAuth y guárdalas como un archivo JSON llamado
client_secrets.json
en tu directorio local. - Para autenticarte como la app de Chat, crea las credenciales de la cuenta de servicio y guárdalas como un archivo JSON llamado
credentials.json
.
- Para autenticarte como usuario de Chat,
crea credenciales de ID de cliente de OAuth y guárdalas como un archivo JSON llamado
- Elige un permiso de autorización según si quieres autenticarte como usuario o como la app de Chat.
- Un espacio de Google Chat Para crear uno con la API de Google Chat, consulta Crea un espacio. Para crear una en Chat, visita la documentación del Centro de ayuda.
Cómo quitar a un miembro de un espacio como usuario
Para quitar un usuario, un Grupo de Google o una app de Chat de un espacio con autenticación de usuario, pasa lo siguiente en tu solicitud:
- Especifica el alcance de autorización de
chat.memberships
. El usuario que autoriza debe tener permiso para quitar al usuario o al Grupo de Google del espacio. Para quitar una app de Chat, especifica el permiso dechat.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. - Realiza una llamada al método
DeleteMembership()
. - Pasa el
name
de la membresía que quieres borrar. Si la membresía pertenece al único administrador de un espacio, asigna a otro usuario como administrador antes de borrar esta membresía.
Sigue estos pasos para borrar una membresía con autenticación de usuario:
Node.js
Para ejecutar esta muestra, reemplaza lo siguiente:
SPACE_NAME
: Es el ID delname
del espacio. Para obtener el ID, llama al métodoListSpaces()
o desde la URL del espacio.MEMBER_NAME
: Es el ID delname
del miembro. Para obtener el ID, llama al métodoListMemberships()
.
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_NAME/members/MEMBER_NAME", "state": "NOT_A_MEMBER" }
Quita a un miembro de un espacio como una app de Chat
La autenticación de apps requiere una aprobación del administrador única.
Para quitar un usuario, un Grupo de Google o una app de Chat de un espacio con autenticación de app, pasa lo siguiente en tu solicitud:
- Especifica el alcance de autorización de
chat.app.memberships
. La eliminación de la membresía de un administrador de espacio solo se admite en los espacios creados por apps de Chat. - Llama al método
delete
en el recursomembership
. - 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 borrarla.
Crea una clave de API
Para llamar a un método de la API de la Versión preliminar para desarrolladores, debes usar una versión no pública de la versión preliminar para desarrolladores del documento de descubrimiento de la API. Para autenticar la solicitud, debes pasar una clave de API.
Para crear la clave de API, abre el proyecto de Google Cloud de tu app y haz lo siguiente:
- En la consola de Google Cloud, ve a Menú > APIs y servicios > Credenciales.
- Haz clic en Crear credenciales > Clave de API.
- Se mostrará tu nueva clave de API.
- Haz clic en Copiar para copiar la clave de API y usarla en el código de tu app. También puedes encontrar la clave de API en la sección "Claves de API" de las credenciales de tu proyecto.
- Haz clic en Restringir clave para actualizar la configuración avanzada y limitar el uso de tu clave de API. Para obtener más detalles, consulta Aplica restricciones de claves de API.
Escribe una secuencia de comandos que llame a la API de Chat
Sigue estos pasos para borrar una membresía con autenticación de apps:
Python
- En tu directorio de trabajo, crea un archivo llamado
chat_membership_delete_app.py
. Incluye el siguiente código en
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()
En el código, reemplaza lo siguiente:
API_KEY
: Es la clave de API que creaste para compilar el extremo de servicio de la API de Chat.SPACE
: Es un nombre de espacio que puedes obtener del métodospaces.list
en la API de Chat o de la URL de un espacio.MEMBER
: Es un nombre de membresía que puedes obtener del métodospaces.members.list
en la API de Chat. Para borrar la membresía de una app, reemplazaMEMBER
porapp
.
En tu directorio de trabajo, compila y ejecuta la muestra:
python3 chat_membership_delete_app.py
Si se ejecuta de forma correcta, 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" }
Limitaciones y consideraciones
- Con la autenticación de apps, una app de Chat puede quitar usuarios, pero no Grupos de Google.
Quita usuarios o Grupos de Google de un espacio como administrador de Google Workspace
Si eres administrador de Google Workspace, puedes llamar al método DeleteMembership()
para quitar usuarios, Grupos de Google o apps de Chat de cualquier espacio de tu organización de Google Workspace.
Para llamar a este método como administrador de Google Workspace, haz lo siguiente:
- Llama al método con la autenticación del usuario y especifica un alcance de autorización que admita llamar al método con privilegios de administrador.
- En tu solicitud, especifica el parámetro de consulta
useAdminAccess
comotrue
.
Para obtener más información y ejemplos, consulta Administra espacios de Google Chat como administrador de Google Workspace.
Temas relacionados
- Obtén detalles sobre la membresía de un usuario o de la app de Chat.
- Enumera los miembros de un espacio.
- Actualiza la membresía de un usuario en un espacio de Google Chat.
- Invitar o agregar un usuario o una app de Chat a un espacio