En esta guía, se explica cómo usar el método create()
en el recurso Membership
de la API de Google Chat para invitar o agregar a un usuario, un Grupo de Google o una app de Chat a un espacio, también conocido como creación de membresía. Cuando creas una membresía, si el miembro especificado tiene desactivada su política de aceptación automática, se lo invita y debe aceptar la invitación al espacio antes de unirse. De lo contrario, crear una membresía agrega al miembro directamente al espacio especificado.
Si eres administrador de Google Workspace, puedes agregar usuarios, Google Groups o apps de Chat a 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 cómo quieras 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 credenciales de cuenta de servicio y guárdalas como un archivo JSON con el nombre
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 alcance de autorización según si quieres autenticarte como usuario o como la app de Chat.
Python
- 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 de Python.
- 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.
Java
- 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 Java.
- Crea credenciales de acceso según cómo quieras 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 credenciales de cuenta de servicio y guárdalas como un archivo JSON con el nombre
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.
Apps Script
- 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.
- Crea un proyecto independiente de Apps Script y activa el servicio de Chat avanzado.
- En esta guía, debes usar la autenticación del usuario o de la app. Para autenticarte como la app de Chat, crea credenciales de cuenta de servicio. Para conocer los pasos, consulta Autentícate y autoriza como una app de Google Chat.
- Elige un permiso de autorización según si quieres autenticarte como usuario o como la app de Chat.
Cómo invitar a un usuario a un espacio o agregarlo como usuario
Para invitar o agregar un usuario a un espacio con autenticación de usuarios, pasa lo siguiente en tu solicitud:
- Especifica el alcance de la autorización
chat.memberships
. - Realiza una llamada al método
CreateMembership()
. - Pasa
parent
como el nombre de recurso del espacio en el que se creará la membresía. - Pasa
membership
como una instancia deMembership
con su campomember
configurado con lo siguiente:- El campo
type
configurado comoHUMAN
. - El campo
name
establecido enusers/{user}
, donde{user}
es la persona que quieres agregar al espacio Para especificar el usuario de Chat, reemplaza{user}
por cualquiera de las siguientes opciones:- Es el ID de la persona en la API de People. Por ejemplo, si el elemento person
resourceName
de la API de People espeople/123456789
, usa el valorusers/123456789
. - Es el ID del usuario en la API de Directory.
- La dirección de correo electrónico del usuario. Por ejemplo,
users/222larabrown@gmail.com
ousers/larabrown@cymbalgroup.com
. Si el usuario usa una Cuenta de Google o pertenece a una organización de Google Workspace diferente, debes usar su dirección de correo electrónico.
- Es el ID de la persona en la API de People. Por ejemplo, si el elemento person
- El campo
En el siguiente ejemplo, se agrega un usuario a un espacio con autenticación de usuarios:
Node.js
Python
Java
Apps Script
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.USER_NAME
: Es un ID de usuario.
La API de Chat muestra una instancia de Membership
que detalla la membresía del usuario que se creó.
Invita o agrega un Grupo de Google a un espacio
Para invitar o agregar un Grupo de Google a un espacio con autenticación de usuarios (la autenticación de apps no admite invitar o agregar un Grupo de Google a un espacio), pasa lo siguiente en tu solicitud:
- Especifica el alcance de la autorización
chat.memberships
. - Realiza una llamada al método
CreateMembership()
. - Pasa
parent
como el nombre del recurso del espacio en el que se creará la membresía. - Pasa
membership
como una instancia deMembership
con el camponame
degroupMember
establecido engroups/{group}
, donde{group}
es el ID del grupo para el que deseas crear la membresía. El ID del grupo se puede recuperar con la API de Cloud Identity.
Los Grupos de Google no se pueden agregar a un chat grupal ni a un mensaje directo, sino solo a un espacio designado.
En el siguiente ejemplo, se agrega un grupo a un espacio con nombre con autenticación de usuario:
Node.js
Python
Java
Apps Script
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.GROUP_NAME
: Un ID de grupo.
La API de Chat muestra una instancia de Membership
que detalla la membresía de usuario que se creó.
Cómo agregar una app de Chat a un espacio
Una app de Chat no puede agregar otra app como miembro a un espacio. Para agregar una app de Chat a un espacio o un mensaje directo entre dos usuarios humanos, pasa lo siguiente en tu solicitud con la autenticación del usuario (la autenticación de apps no admite invitar ni agregar una app de Chat a un espacio):
- Especifica el alcance de autorización de
chat.memberships.app
. - Realiza una llamada al método
CreateMembership()
. - Pasa
parent
como el nombre del recurso del espacio en el que se creará la membresía. - Pasa
membership
como una instancia deMembership
con su campomember
configurado con lo siguiente:- El campo
type
configurado comoBOT
. - El campo
name
establecido enusers/app
, un alias que representa a la app que llama a la API de Chat
- El campo
En el siguiente ejemplo, se agrega una app de Chat a un espacio:
Node.js
Python
Java
Apps Script
Para ejecutar la muestra, reemplaza SPACE_NAME
por el ID de name
del espacio.
Para obtener el ID, llama al método ListSpaces()
o desde la URL del espacio.
La API de Chat muestra una instancia de Membership
que detalla la membresía del usuario que se creó.
Invita o agrega un usuario a un espacio como una app de Chat
La autenticación de apps requiere la aprobación del administrador por única vez.
Para invitar o agregar un usuario a un espacio con autenticación de apps, pasa lo siguiente en tu solicitud:
- Especifica el alcance de la autorización
chat.app.memberships
. - Llama al método
create
en el recursomembership
. - Establece
parent
en el nombre del recurso del espacio en el que se creará la membresía. - Establece
member
enusers/{user}
, donde{user}
es la persona para la que deseas crear la membresía y es una de las siguientes opciones:- El ID de la persona en la API de People Por ejemplo, si el elemento person de la API de People es
people/123456789
, establecemembership.member.name
comousers/123456789
.resourceName
- Es el ID del usuario en la API de Directory.
- La dirección de correo electrónico del usuario. Por ejemplo,
users/222larabrown@gmail.com
ousers/larabrown@cymbalgroup.com
. Si el usuario usa una Cuenta de Google o pertenece a una organización de Google Workspace diferente, debes usar su dirección de correo electrónico.
- El ID de la persona en la API de People Por ejemplo, si el elemento person de la API de People es
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. 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 clave de API.
Escribe una secuencia de comandos que llame a la API de Chat
En el siguiente ejemplo, se agrega un usuario a un espacio con autenticación de apps:
Python
- En tu directorio de trabajo, crea un archivo llamado
chat_membership_app_create.py
. Incluye el siguiente código en
chat_membership_app_create.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 adds a user to a Chat space by creating a 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().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Specify which user the membership is for. body = { 'member': { 'name':'users/USER', 'type': 'HUMAN' } } ).execute() # Prints details about the created 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 el nombre del espacio, que puedes obtener del métodospaces.list
en la API de Chat o desde la URL de un espacio.USER
: Es un ID de usuario.
En tu directorio de trabajo, compila y ejecuta la muestra:
python3 chat_membership_app_create.py
Agrega usuarios o Grupos de Google a un espacio como administrador de Google Workspace
Si eres administrador de Google Workspace, puedes llamar al método create()
para agregar usuarios, Grupos de Google o apps de Chat a 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 Cómo administrar espacios de Google Chat como administrador de Google Workspace.
Limitaciones y consideraciones
- Con la autenticación de apps, una app de Chat puede invitar o agregar usuarios, pero no a Google Groups ni a otras apps de Chat. Para agregarse, una app de Chat debe usar la autenticación de usuario con el permiso de autorización
chat.memberships
.
Temas relacionados
- Obtén detalles sobre la membresía de un usuario o de la app de Chat.
- Enumera los miembros de un espacio.
- Actualizar la membresía de un usuario en un espacio de Google Chat
- Quitar un usuario o una app de Chat de un espacio