El servicio de Chat avanzado te permite usar la API de Google Chat en Apps Script. Esta API permite que las secuencias de comandos encuentren, creen y modifiquen espacios de Chat, agreguen o quiten miembros de 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 de Google Cloud estándar en lugar del predeterminado que se crea automáticamente para los proyectos de Apps Script. Para crear una app de Google Chat compatible, consulta Cómo compilar una app de Google Chat con Apps Script.
- Autenticación configurada para la app de Chat. Para realizar una acción en nombre de un usuario, se requiere la autenticación del usuario. Realizar una acción como la app de Chat requiere la autenticación de 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 obligatoria para las llamadas a la API de Google Chat.
Referencia
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 credenciales de usuario
En el siguiente ejemplo, se muestra cómo publicar un mensaje en un espacio de chat en nombre del usuario.
Agrega el permiso 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 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 de Chat avanzado 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 Cómo autenticarse como una app de Google Chat.
Obtén un espacio
En el siguiente ejemplo, se muestra cómo obtener información sobre un espacio de chat.
Agrega el permiso 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 permiso 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:
Cómo enumerar membresías
En el siguiente ejemplo, se muestra cómo enumerar todos los miembros de un espacio de chat.
Agrega el permiso 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:
Solucionar problemas
Si encuentras Error 400: invalid_scope
con el mensaje de error Some requested scopes cannot be shown
, significa que no especificaste ningún permiso 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é permisos necesita una secuencia de comandos, pero cuando usas el servicio avanzado de Chat, debes agregar manualmente los permisos de autorización que usa la secuencia de comandos al archivo de manifiesto de tu proyecto de Apps Script. Consulta Cómo configurar alcances 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 admite lo siguiente:
- 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
Para descargar un archivo adjunto de un mensaje o llamar a un método de vista previa para desarrolladores, usa UrlFetchApp
.