En esta página, se explica cómo crear una app de chat con Pub/Sub. Este tipo de arquitectura de una app de Chat es útil si tu organización tiene un firewall, lo que puede impedir que Chat enviar mensajes a tu app de Chat o si App de Chat usa API de Google Workspace Events. Sin embargo, este arquitectura de la nube tiene las siguientes limitaciones debido al hecho de que estas Las apps de chat solo pueden enviar y recibir mensajes mensajes asíncronos:
- No se pueden usar diálogos en los mensajes. En su lugar, usa mensaje de tarjeta.
- No se pueden actualizar tarjetas individuales con una respuesta síncrona. En su lugar, actualiza
todo el mensaje llamando al
patch
.
En el siguiente diagrama, se muestra la arquitectura de una app de chat compilada con Pub/Sub:
En el diagrama anterior, un usuario interactúa con una instancia La app de Chat tiene el siguiente flujo de información:
Un usuario envía un mensaje en Chat a una app de Chat, ya sea en un mensaje directo o en un espacio de Chat, o bien se produce un evento en un espacio de Chat para el que la app de Chat tiene una suscripción activa.
Chat envía el mensaje a un tema de Pub/Sub.
Un servidor de aplicaciones, que puede ser un sistema local o en la nube que contiene la lógica de la app de Chat, se suscribe tema de Pub/Sub para recibir el mensaje a través del firewall.
De manera opcional, la app de Chat puede llamar a la API de Chat para publicar mensajes de manera asíncrona o realizar otras operaciones.
Requisitos previos
Java
- Una cuenta de Google Workspace para empresas o negocios con acceso a Google Chat
- Un proyecto de Google Cloud con facturación habilitada. Para verificar que un proyecto existente tenga habilitada la facturación, consulta Verifica el y el estado de facturación de tus proyectos. Para crear un proyecto y configurar la facturación, consulta Crea un proyecto de Google Cloud.
- Java 11 o superior
- La herramienta de administración de paquetes Maven
Python
- Una empresa o empresa de Google Workspace con acceso a Google Chat.
- Un proyecto de Google Cloud con facturación habilitada. Para verificar que un proyecto existente tenga habilitada la facturación, consulta Verifica el y el estado de facturación de tus proyectos. Para crear un proyecto y configurar la facturación, consulta Crea un proyecto de Google Cloud.
- Python 3.6 o superior
- La herramienta de administración de paquetes pip
Node.js
- Una cuenta de Google Workspace para empresas o negocios con acceso a Google Chat
- Un proyecto de Google Cloud con facturación habilitada. Para verificar que un proyecto existente tenga habilitada la facturación, consulta Verifica el estado de facturación de tus proyectos. Para crear un proyecto y configurar la facturación, consulta Crea un proyecto de Google Cloud.
- Node.js 14 o versiones posteriores
- La herramienta de administración de paquetes npm
-
Un proyecto de Node.js inicializado Para inicializar un proyecto nuevo, crea
cambia a una nueva carpeta, luego ejecuta el siguiente comando en tu interfaz de línea de comandos:
npm init
Configura el entorno
Antes de usar las APIs de Google, debes activarlas en un proyecto de Google Cloud. Puedes activar una o más APIs en un solo proyecto de Google Cloud.En la consola de Google Cloud, habilita la API de Google Chat y la API de Pub/Sub.
Cómo configurar Pub/Sub
Crea un tema de Pub/Sub al que la API de Chat pueda enviar mensajes. Te recomendamos que utilices un solo tema por app de Chat.
Otorga permiso a Chat para publicar en el tema asignando el rol de Publicador de Pub/Sub a la siguiente cuenta de servicio:
chat-api-push@system.gserviceaccount.com
Crea una cuenta de servicio que la app de Chat autorice con Pub/Sub y Chatear y guardar el archivo de claves privadas en tu directorio de trabajo.
Crea una suscripción de extracción al tema.
Asigna el rol de suscriptor de Pub/Sub en la suscripción de la cuenta de servicio que creaste anteriormente.
Escribe el guion
Java
En una CLI, proporciona credenciales de cuenta de servicio:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
En una CLI, proporciona el ID del proyecto de Google Cloud:
export PROJECT_ID=PROJECT_ID
En una CLI, proporciona el ID de suscripción para la suscripción de Pub/Sub que que creaste anteriormente:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
En el directorio de trabajo, crea un archivo llamado
pom.xml
.En el archivo
pom.xml
, pega el siguiente código:En tu directorio de trabajo, crea la estructura de directorio
src/main/java
.En el directorio
src/main/java
, crea un archivo llamadoMain.java
.En
Main.java
, pega el siguiente código:
Python
En una CLI, proporciona credenciales de cuenta de servicio:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
En una CLI, proporciona el ID del proyecto de Google Cloud:
export PROJECT_ID=PROJECT_ID
En una CLI, proporciona el ID de suscripción para la suscripción de Pub/Sub que que creaste anteriormente:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
En el directorio de trabajo, crea un archivo llamado
requirements.txt
.En el archivo
requirements.txt
, pega el siguiente código:En tu directorio de trabajo, crea un archivo llamado
app.py
.En
app.py
, pega el siguiente código:
Node.js
En una CLI, proporciona credenciales de cuenta de servicio:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
En una CLI, proporciona el ID del proyecto de Google Cloud:
export PROJECT_ID=PROJECT_ID
En una CLI, proporciona el ID de suscripción de la suscripción a Pub/Sub que creaste anteriormente:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
En el directorio de trabajo, crea un archivo llamado
package.json
.En el archivo
package.json
, pega el siguiente código:En tu directorio de trabajo, crea un archivo llamado
index.js
.En
index.js
, pega el siguiente código:
Publica la app en Chat
En la consola de Google Cloud, ve a Menú > APIs y Servicios > APIs habilitadas y Servicios > API de Google Chat > Configuración.
Configura la app de Chat para Pub/Sub:
- En Nombre de la app, ingresa
Quickstart App
. - En URL del avatar, escribe
https://developers.google.com/chat/images/quickstart-app-avatar.png
. - En Descripción, ingresa
Quickstart app
. - En Funcionalidad, selecciona Recibir mensajes 1:1 y Unirse a espacios y conversaciones grupales.
- En Configuración de la conexión, selecciona Cloud Pub/Sub y pega el nombre del tema de Pub/Sub que creaste antes.
- En Visibilidad, selecciona Hacer que esta app de Google Chat esté disponible para personas y grupos específicos en tu dominio y escribe tu dirección de correo electrónico.
- En Registros, selecciona Registrar errores en Logging.
- En Nombre de la app, ingresa
Haz clic en Guardar.
La app está lista para recibir y responder mensajes en Chat.
Ejecuta la secuencia de comandos:
En la CLI, cambia al directorio de trabajo y ejecuta la secuencia de comandos:
Java
mvn compile exec:java -Dexec.mainClass=Main
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Node.js
npm install
npm start
Cuando ejecutas el código, la aplicación comienza a escuchar los mensajes publicados en el tema de Pub/Sub.
Prueba tu app de Chat
Para probar tu app de Chat, abre un espacio de mensaje directo con la app de Chat y envía un mensaje:
Abre Google Chat con la cuenta de Google Workspace que proporcionaste cuando te agregaste como verificador de confianza.
- Haz clic en Nuevo chat.
- En el campo Add 1 or more people, escribe el nombre de tu App de Chat
Selecciona tu app de Chat en los resultados. Un se abrirá un mensaje.
- En el nuevo mensaje directo con la app, escribe
Hello
y presionaenter
.
Para agregar verificadores de confianza y obtener más información para probar funciones interactivas, consulta Prueba funciones interactivas para Apps de Google Chat.
Solucionar problemas
Cuando una app de Google Chat o card muestra un error, el En la interfaz de Chat, aparece un mensaje que dice “Se produjo un error”. o "No se puede procesar tu solicitud". A veces, la IU de Chat no muestra ningún mensaje de error, pero la app o la tarjeta de Chat producen un resultado inesperado; por ejemplo, es posible que no aparezca un mensaje de la tarjeta.
Aunque es posible que no se muestre un mensaje de error en la IU de Chat, los mensajes de error descriptivos y los datos de registro están disponibles para ayudarte a corregir errores cuando se activa el registro de errores de las apps de Chat. Si necesitas ayuda para ver, depurar y corregir errores, consulta Cómo solucionar problemas y corregir errores de Google Chat.
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por el recursos usados en este instructivo, te recomendamos que borres el Cloud.
- En la consola de Google Cloud, ve a la página Administrar recursos. Haz clic en Menú > IAM y administración > Administrar recursos.
- En la lista de proyectos, selecciona el proyecto que deseas borrar y haz clic en Borrar .
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrarlo. el proyecto.
Temas relacionados
Para agregar más funciones a tu app de Chat, consulta lo siguiente: