El servicio de Chat avanzado te permite usar la API de Google Chat en Apps Script. Esta API permite que las secuencias de comandos busquen, creen y modifiquen espacios de Chat, agreguen o quiten miembros en espacios, y lean o publiquen mensajes con texto, tarjetas, archivos adjuntos y reacciones.
Requisitos previos
- Una app de Google Chat de Apps Script configurada en la página de configuración de la API de Chat en la consola de Google Cloud. El proyecto de Apps Script de la app debe usar un proyecto estándar de Google Cloud en lugar del predeterminado que se creó automáticamente para los proyectos de Apps Script. Para crear una app de Google Chat compatible, consulta Compila una app de Google Chat con Apps Script.
- La autenticación configurada para la app de Chat. Realizar una acción en nombre de un usuario requiere la autenticación del usuario. Para realizar una acción como la app de Chat, es necesario autenticar la app con una cuenta de servicio. Para verificar qué forma de autenticación admite un método de la API de Chat, consulta Tipos de autenticación requeridas para las llamadas a la API de Google Chat.
Reference
Para obtener más información sobre este servicio, consulta la documentación de referencia de la API de Chat. Al igual que todos los servicios avanzados de Apps Script, el servicio de Chat usa los mismos objetos, métodos y parámetros que la API pública.
Código de muestra
En estos ejemplos, se muestra cómo realizar acciones comunes de la API de Google Chat con el servicio avanzado.
Publica un mensaje con las credenciales del usuario
En el siguiente ejemplo, se muestra cómo publicar un mensaje en un espacio de Chat en nombre del usuario.
Agrega el alcance de autorización
chat.messages.create
al archivoappsscript.json
del proyecto de Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.create" ]
Agrega una función como esta al código del proyecto de Apps Script:
Publica un mensaje con las credenciales de la app
En el siguiente ejemplo, se muestra cómo publicar un mensaje en un espacio de Chat en nombre de la app. El uso del servicio avanzado de Chat con una cuenta de servicio no requiere que especifiques los permisos de autorización en appsscript.json
. Para obtener detalles sobre la autenticación con cuentas de servicio, consulta Autentícate como una app de Google Chat.
Obtener un espacio
En el siguiente ejemplo, se muestra cómo obtener información sobre un espacio de Chat.
Agrega el alcance de autorización
chat.spaces.readonly
al archivoappsscript.json
del proyecto de Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.readonly" ]
Agrega una función como esta al código del proyecto de Apps Script:
Crea un espacio
En el siguiente ejemplo, se muestra cómo crear un espacio de Chat.
Agrega el alcance de autorización
chat.spaces.create
al archivoappsscript.json
del proyecto de Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.create" ]
Agrega una función como esta al código del proyecto de Apps Script:
Enumerar membresías
En el siguiente ejemplo, se muestra cómo enumerar todos los miembros de un espacio de Chat.
Agrega el alcance de autorización
chat.memberships.readonly
al archivoappsscript.json
del proyecto de Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships.readonly" ]
Agrega una función como esta al código del proyecto de Apps Script:
Solución de problemas
Si encuentras Error 400: invalid_scope
con el mensaje de error Some requested scopes cannot be shown
, significa que no especificaste ningún alcance de autorización en el archivo appsscript.json
del proyecto de Apps Script. En la mayoría de los casos, Apps Script determina automáticamente qué alcances necesita una secuencia de comandos, pero cuando usas el servicio avanzado de Chat, debes agregar de forma manual los permisos de autorización que usa tu secuencia de comandos al archivo de manifiesto del proyecto de Apps Script. Consulta Cómo configurar permisos explícitos.
Para resolver el error, agrega los permisos de autorización adecuados al archivo appsscript.json
del proyecto de Apps Script como parte del array oauthScopes
. Por ejemplo, para llamar al método spaces.messages.create
, agrega lo siguiente:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Límites y consideraciones
El servicio de Chat avanzado no es compatible con los siguientes elementos:
- El método
media.download
de la API de Chat - Métodos de la API de Chat disponibles en la Versión preliminar para desarrolladores
Si deseas descargar el archivo adjunto de un mensaje o llamar a un método de vista previa para desarrolladores, usa UrlFetchApp
en su lugar.