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 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 estándar de Google Cloud en lugar del predeterminado que se crea automáticamente para los proyectos de Apps Script. Para crear una app de Google Chat compatible, consulta Compila una app de Google Chat con Google Apps Script.
- Es la autenticación configurada para la app de Chat. Realizar una acción en nombre de un usuario requiere autenticación del usuario. Para realizar una acción como la app de Chat, se 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 requerida 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 en 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 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 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.
Obtén 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:
Membresías de la lista
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:
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 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é permisos necesita un script, pero cuando usas el servicio avanzado de Chat, debes agregar manualmente los permisos de autorización que usa tu script al archivo de manifiesto de tu proyecto de Apps Script. Consulta Cómo establecer 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 admite lo siguiente:
- El método de la API de Chat
media.download
. - Métodos de la API de Chat disponibles en la versión preliminar para desarrolladores
Para descargar un adjunto de mensaje o llamar a un método de versión preliminar para desarrolladores, usa UrlFetchApp
en su lugar.