En esta página, se describe cómo conectar una app de Google Chat con un servicio o una herramienta que está fuera de Google Chat. Si bien las apps de Chat son potentes por sí solas, a menudo funcionan en conjunto con otros sistemas y requieren aplicaciones complementarias para conectar cuentas, autorizar el acceso a los datos, mostrar datos adicionales o configurar las preferencias del usuario.
Solicita la configuración de la app de Chat a un usuario
Si completar una solicitud requiere una configuración adicional que no se puede completar directamente en la app de Chat, muestra una URL de configuración al usuario como parte de una respuesta normal o preséntala de forma privada, de la siguiente manera:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
Esto le indica a Google Chat que presente al usuario un mensaje privado, en el que CONFIGURATION_URL
es un vínculo que el usuario debe visitar para obtener autenticación, autorización o configuración adicionales. Una respuesta REQUEST_CONFIG
es mutuamente excluyente con un mensaje de respuesta regular. Se ignorará el texto, las tarjetas y otros atributos.
Completa la solicitud de configuración
Cada evento de interacción MESSAGE
que recibe tu app de Chat también incluye un parámetro configCompleteRedirectUrl
. Esta URL debe estar codificada en tu URL de configuración para que se use cuando se complete el proceso. El redireccionamiento a esta
URL indica a Google Chat que se cumplió la solicitud de configuración.
Cuando se inicia la app de Chat, el flujo depende del mensaje específico que se recibe. En respuesta a un mensaje como @app help
, una app de Chat debe responder con un mensaje sin requerir configuración adicional.
Cuando se redirecciona correctamente a un usuario al configCompleteRedirectUrl
proporcionado en el mensaje original, Google Chat realiza los siguientes pasos:
- Borra el mensaje que se le mostró al usuario iniciador.
- Convertir el mensaje original en público para que sea visible para otros miembros del espacio
- Envía el mensaje original a la misma app de Chat por segunda vez.
Visitar un configCompleteRedirectUrl
solo afecta a un único mensaje de usuario.
Si un usuario intentó enviar un mensaje a una app de Chat varias
veces y, como resultado, recibió varios mensajes, hacer clic en un mensaje en particular
y completar el proceso de autenticación y configuración solo afecta
ese mensaje en particular. Los demás mensajes no se modifican.
Cuando un evento de interacción MESSAGE
se vuelve a enviar de esta manera, debe ser idéntico al evento original. Sin embargo, hay algunas situaciones en las que los eventos de interacción MESSAGE
pueden diferir. Por ejemplo, cuando un mensaje menciona la app de Chat A y la app de Chat B, el usuario puede editar el mensaje si la app de Chat A responde con un mensaje normal antes de autenticarse con la app de Chat B. En este caso,
la app de Chat B recibe el texto editado del mensaje después de que
el usuario completa la autenticación y la configuración.
Autentica al usuario de Chat fuera de Chat
En algunos casos, como para solicitar la autorización de OAuth para una API, la app debe vincularse a una URL fuera de Chat y, al mismo tiempo, mantener la identidad del usuario. La mejor manera de identificar al usuario en estos casos es proteger la app de destino con el Acceso con Google.
Usa el token de identidad que se emite durante el acceso para obtener el ID del usuario. La reclamación sub
contiene el ID único del usuario y se puede correlacionar con el ID de usuario de Google Chat.
Si bien los dos IDs no son exactamente idénticos, se pueden forzar. Para forzar el valor de la reclamación sub
a una users/{user}
de Google Chat, antepone users/
al valor. Por ejemplo, el valor de reclamación de 123
es equivalente al nombre de usuario users/123
en los mensajes de tu app de Chat.
Temas relacionados
- En el ejemplo de la app de MyProfile, se usa el token de identidad de la respuesta de Acceso con Google para identificar al usuario.