En esta guía, se explica cómo usar el recurso list
en el recurso Space
de
la API de Google Chat para enumerar los espacios. Enumerar espacios muestra un resultado paginado,
una lista de espacios.
El
Recurso Space
representa un lugar donde las personas y las apps de Chat pueden enviar mensajes,
compartir archivos y colaborar. Existen varios tipos de espacios:
- Los mensajes directos (MD) son conversaciones entre dos usuarios o un usuario y una app de Chat.
- Los chats en grupo son conversaciones entre tres o más usuarios y Apps de Chat
- Los espacios con nombre son lugares persistentes donde las personas envían mensajes, y colaborar.
Enumerar espacios con autenticación de apps Se muestran los espacios a los que tiene acceso la app de Chat. Ficha espacios con Autenticación de usuarios enumera los espacios a los que tiene acceso el usuario autenticado.
Requisitos previos
Python
- Una empresa o empresa de Google Workspace 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. y la descripción de tu app de Chat.
- Instala el Python Biblioteca cliente de las APIs de Google
- Crea credenciales de acceso según cómo quieras autenticarte en tu API de Google Chat
solicitud:
- 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 en función de si deseas autenticarte como usuario o App de Chat
Node.js
- Una empresa o empresa de Google Workspace 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. y la descripción de tu app de Chat.
- Instala el Node.js Biblioteca cliente de las APIs de Google
- Crea credenciales de acceso según cómo quieras autenticarte en tu API de Google Chat
solicitud:
- 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 en función de si deseas autenticarte como usuario o App de Chat
Muestra una lista de espacios con autenticación de usuario
Para enumerar espacios en Google Chat, pasa lo siguiente en tu solicitud:
- Con
autenticación de usuarios,
especifica el permiso de autorización
chat.spaces.readonly
ochat.spaces
. - Llama al
Método
list
en la RecursoSpace
.
En el siguiente ejemplo, se enumeran los espacios con nombre y los chats en grupo (pero no los (que se filtran) visibles para el usuario autenticado:
Python
- En el directorio de trabajo, crea un archivo llamado
chat_space_list.py
. Incluye el siguiente código en
chat_space_list.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.spaces.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists named spaces and group chats (but not direct messages) visible to the authenticated user. ''' # 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().list( # An optional filter that returns named spaces or unnamed group chats, # but not direct messages (DMs). filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' ).execute() # Prints the returned list of spaces. print(result) if __name__ == '__main__': main()
En tu directorio de trabajo, compila y ejecuta la muestra:
python3 chat_space_list.py
Node.js
- En el directorio de trabajo, crea un archivo llamado
list-spaces.js
. Incluye el siguiente código en
list-spaces.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * List Chat spaces. * @return {!Promise<!Object>} */ async function listSpaces() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.readonly', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.list({ filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' }); } listSpaces().then(console.log);
En tu directorio de trabajo, ejecuta la muestra:
node list-spaces.js
La API de Chat muestra un array paginado de espacios con nombre y chats en grupo.
Muestra una lista de espacios con autenticación de app
Para enumerar espacios en Google Chat, pasa lo siguiente en tu solicitud:
- Con
autenticación de apps,
especifica el permiso de autorización
chat.bot
. - Llama al
Método
list
en la RecursoSpace
.
En el siguiente ejemplo, se enumeran los espacios con nombre y los chats en grupo (pero no los visibles) para la app de Chat:
Python
- En el directorio de trabajo, crea un archivo llamado
chat_space_list_app.py
. Incluye el siguiente código en
chat_space_list_app.py
:from google.oauth2 import service_account from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Use the service endpoint to call Chat API. result = chat.spaces().list( # An optional filter that returns named spaces or unnamed # group chats, but not direct messages (DMs). filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' ).execute() print(result)
En tu directorio de trabajo, compila y ejecuta la muestra:
python3 chat_space_list_app.py
Node.js
- En el directorio de trabajo, crea un archivo llamado
app-list-spaces.js
. Incluye el siguiente código en
app-list-spaces.js
:const chat = require('@googleapis/chat'); /** * List Chat spaces. * @return {!Promise<!Object>} */ async function listSpaces() { const scopes = [ 'https://www.googleapis.com/auth/chat.bot', ]; const auth = new chat.auth.GoogleAuth({ scopes, keyFilename: 'credentials.json', }); const authClient = await auth.getClient(); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.list({ filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' }); } listSpaces().then(console.log);
En tu directorio de trabajo, ejecuta la muestra:
node app-list-spaces.js
La API de Chat muestra un array de espacios paginado.
Personaliza la paginación o filtra la lista
Para mostrar una lista de espacios en Google Chat, pasa el siguiente parámetros de consulta para personalizar la paginación o filtrar los espacios enumerados:
pageSize
: La cantidad máxima de espacios que se mostrarán. Es posible que el servicio muestre menor a este valor. Si no se especifica, se muestran 100 espacios como máximo. El el valor máximo es 1,000; los valores superiores a 1,000 se cambian automáticamente a 1,000.pageToken
: Un token de página, recibido de una llamada anterior a los espacios de lista. Proporciona este token para recuperar la página siguiente. Al paginar, el valor del filtro debe coincidir con la llamada que proporcionó el token de la página. Si pasas un un valor diferente puede generar resultados inesperados.filter
: Es un filtro de consulta. Para obtener detalles de consultas compatibles, revisa el Métodospaces.list
.
Temas relacionados
- Crea un espacio.
- Configura un espacio.
- Obtener detalles sobre un espacio
- Actualiza un espacio.
- Borra un espacio.
- Busca un espacio para mensaje directo.