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, 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 un 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 una Un espacio de Chat o un evento en un espacio de Chat para los que la app de Chat tiene suscripción.
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.
Si lo deseas, la app de Chat puede llamar al Chat para publicar mensajes de forma asíncrona o realizar otras las operaciones.
Requisitos previos
Java
- 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.
- 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 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.
- Node.js 14 o versiones posteriores
- La herramienta npm herramienta de administración de paquetes
-
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 a los que la API de Chat puede enviar mensajes. Te recomendamos que utilices un solo tema por app de Chat.
Otorga permiso a Chat para publicar al tema asignando el rol de Publicador de Pub/Sub a lo siguiente: cuenta de servicio:
chat-api-push@system.gserviceaccount.com
Crea una cuenta de servicio para que la app de Chat la 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 para la cuenta de servicio que creaste antes.
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 el 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 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
package.json
.En el archivo
package.json
, pega el siguiente código:En el 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 el nombre del tema de Pub/Sub que creaste anteriormente.
- En Visibilidad, selecciona Permitir que esta app de Google Chat esté disponible para personas y grupos específicos de tu dominio y, luego, ingresa 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 app comienza a escuchar los mensajes publicados al 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 que se proporcionan 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 pudo procesar la solicitud". A veces, la IU de Chat no muestra ningún mensaje de error, pero la app de Chat la tarjeta produce un resultado inesperado; Por ejemplo, es posible que un mensaje de tarjeta no para que aparezca la opción.
Aunque es posible que no aparezca un mensaje de error en la IU de Chat, Hay mensajes de error descriptivos y datos de registro disponibles para ayudarte a corregir errores. Cuando se activa el registro de errores de las apps de Chat. Para obtener ayuda sobre la visualización, la depuración y la corrección de errores, consulta Soluciona problemas y corrige 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 Administrador > Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borra .
- 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 la lo siguiente: