En esta guía, se explica cómo usar la
update()
en el recurso Membership
de la API de Google Chat para cambiar los atributos
sobre una membresía, como cambiar a un miembro del espacio a administrador o cambiar
de un administrador del espacio a un miembro del espacio.
Si eres administrador de Google Workspace, puedes llamar al método update()
para actualizar la membresía de cualquier espacio de tu organización de Google Workspace.
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
Node.js
- Una cuenta de Google Workspace para empresas o negocios 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:
- Sigue estos pasos para autenticarte como usuario de Chat:
crear un ID de cliente de OAuth
credenciales y las guarda como un archivo JSON llamado
client_secrets.json
a tu directorio local. - Para autenticarte como la app de Chat, sigue estos pasos:
crear cuenta de servicio
credenciales y las guarda como un archivo JSON llamado
credentials.json
- Sigue estos pasos para autenticarte como usuario de Chat:
crear un ID de cliente de OAuth
credenciales y las guarda como un archivo JSON llamado
- Elige un alcance de autorización según si deseas autenticarte como usuario o como la app de Chat.
Cómo actualizar una membresía
Para actualizar una membresía del espacio, pasa lo siguiente en tu solicitud:
- Especifica un permiso de autorización:
- Con la autenticación de usuarios, especifica el permiso de autorización
chat.memberships
. - Con la autenticación de apps (disponible en la Versión preliminar para desarrolladores), especifica el alcance de autorización
chat.app.memberships
. Al actualizar un la membresía con autenticación de app, solo puedes actualizar las membresías en Espacios creados por apps de Chat. La autenticación de apps requiere una única autenticación aprobación del administrador.
- Con la autenticación de usuarios, especifica el permiso de autorización
- Realiza una llamada al método
UpdateMembership()
. - Pasa
membership
como una instancia deMembership
con lo siguiente:- El campo
name
configurado como la membresía que se actualizará, que incluye un ID de espacio y un ID de miembro. - Los campos de membresía que se actualizarán se establecen en los valores nuevos.
- El campo
- Pasa
updateMask
para especificar los aspectos de la membresía que se actualizarán. incluye lo siguiente:role
: Es el rol del usuario en un espacio de Chat, que determina acciones en el espacio. Estos son los posibles valores:ROLE_MEMBER
: Es un miembro del espacio. El usuario tiene permisos básicos, como enviar mensajes al espacio. En un grupo 1:1 y sin nombre conversaciones, todos tienen este rol.ROLE_MANAGER
: Es un administrador del espacio. El usuario tiene todos los permisos básicos, además de permisos administrativos que le permiten administrar el espacio, como agregar o quitar miembros. Solo se admite en espacios en los quespaceType
esSPACE
. (espacios con nombre).
Cómo convertir a un miembro normal del espacio en administrador del espacio como usuario
En el siguiente ejemplo, se llama a la API de Chat con
autenticación de usuarios
para convertir a un miembro normal del espacio en administrador del espacio, especificando role
como
ROLE_MANAGER
:
Node.js
Para ejecutar la 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
: El ID de la membresíaname
Para obtener el ID, llama al métodoListMemberships()
o desde el cuerpo de la respuesta que se muestra después de crear una membresía de forma asíncrona con la API de Chat.ROLE_NAME
: El rol actualizado,ROLE_MANAGER
.
La API de Google Chat actualiza la membresía especificada a un administrador de espacios y muestra una instancia de Membership
.
Cómo convertir a un administrador del espacio en un miembro normal como usuario
En el siguiente ejemplo, se llama a la API de Chat con
autenticación de usuarios
para convertir a un administrador del espacio en un miembro normal del espacio especificando role
como
ROLE_MEMBER
:
Node.js
Para ejecutar la 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
: El ID delname
de la membresía. Para obtener el ID, llama alListMemberships()
o desde el cuerpo de la respuesta que se muestra después de crear una membresía. de forma asíncrona con la API de Chat.ROLE_NAME
: El rol actualizado,ROLE_MEMBER
.
La API de Google Chat actualiza la membresía especificada a un administrador del espacio y devuelve
una instancia de
Membership
Convierte a un miembro normal del espacio en administrador del espacio como app de Chat
La autenticación de apps requiere una única autenticación aprobación del administrador.
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 del documento de descubrimiento de la API que no sea pública. 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 tu clave de API y usarla en el código de tu app. La clave de API también se puede encontrar 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
En el siguiente ejemplo, se llama a la API de Chat con autenticación de apps para convertir a un miembro normal del espacio en administrador del espacio especificando role
como ROLE_MANAGER
en el body
que especifica los atributos de membresía actualizados:
Python
- En el directorio de trabajo, crea un archivo llamado
chat_membership_update_to_manager_app.py
. Incluye el siguiente código en
chat_membership_update_to_manager_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 updates a specified space member to change it from a regular member to a space manager. ''' # 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().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MANAGER'} ).execute() # Prints details about the updated membership. 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 que puedes obtener de la Métodospaces.list
en la API de Chat o desde la URL de un espacio.MEMBERSHIP
: Un nombre de membresía, que puedes obtener del métodospaces.members.list
en la API de Chat.
En tu directorio de trabajo, compila y ejecuta la muestra:
python3 chat_membership_update_to_manager_app.py
Cómo convertir a un administrador del espacio en miembro habitual como app de Chat
La autenticación de apps requiere una única autenticación aprobación del administrador.
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 del documento de descubrimiento de la API que no sea pública. 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 tu clave de API y usarla en el código de tu app. La clave de API también se puede encontrar 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
En el siguiente ejemplo, se llama a la API de Chat con
autenticación de apps
para convertir a un administrador del espacio en un miembro normal del espacio especificando role
como
ROLE_MEMBER
en el body
que especifica los atributos de membresía actualizados:
Python
- En tu directorio de trabajo, crea un archivo llamado
chat_membership_update_to_member_app.py
. Incluye el siguiente código en
chat_membership_update_to_member_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 via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # 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().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MEMBER'} ).execute() # Prints details about the updated membership. 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 que puedes obtener de la Métodospaces.list
en la API de Chat o desde la URL de un espacio.MEMBERSHIP
: Un nombre de membresía, que puedes obtener del métodospaces.members.list
en la API de Chat.
En tu directorio de trabajo, compila y ejecuta la muestra:
python3 chat_membership_update_to_member_app.py
Actualiza las membresías como administrador de Google Workspace
Si eres administrador de Google Workspace, puedes llamar al método update()
para actualizar las membresías 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
- Invitar o agregar un usuario o una app de Google Chat a un espacio
- Obtén detalles sobre la membresía de un usuario o de la app de Chat.
- Enumerar los miembros de un espacio
- Quitar un usuario o una app de Chat de un espacio