Conecta una app de Chat con otros servicios y herramientas

En esta página, se describe cómo conectar una app de Google Chat a un servicio o una herramienta externa a Google Chat. Mientras que las apps de Chat son potentes por sí solas, a menudo trabajan en conjunto con otros sistemas y requieren complementarias para conectar cuentas, autorizar el acceso a los datos, mostrar datos adicionales o configurar las preferencias del usuario.

Requisitos previos

Una app de Google Chat habilitada para funciones interactivas. Para crear un app de Chat interactiva, completa una de las siguientes guías de inicio rápido en la arquitectura de app que quieres usar:

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 completado directamente en la app de Chat, devuelve un URL de configuración al usuario como parte de una respuesta normal, o bien presentarla 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 pueda visitar para obtener autenticación, autorización o configuración. Una respuesta REQUEST_CONFIG es mutuamente excluyente con una regular de respuesta ante incidentes. Se ignorará el texto, las tarjetas y otros atributos.

Completa la solicitud de configuración

Cada Evento de interacción MESSAGE que recibe la app de Chat configCompleteRedirectUrl Debes codificar esta URL en tu la URL de configuración que se usará cuando finalice el proceso. Redireccionando a este... La URL le indica a Google Chat que se completó la solicitud de configuración.

Cuando se inicia la app de Chat, el flujo depende de mensaje específico recibido. En respuesta a un mensaje como @app help, se La app de Chat debería responder con un mensaje lo que requiere configuración adicional.

Cuando se redirecciona correctamente a un usuario a configCompleteRedirectUrl proporcionado en el mensaje original, Google Chat realizará los siguientes pasos:

  1. Borra el mensaje que se mostró al usuario iniciador.
  2. Convertir el mensaje original en público para que sea visible para otros miembros de el espacio.
  3. Envía el mensaje original a la misma app de Chat por segunda vez.

Visitar un configCompleteRedirectUrl solo afecta a un único mensaje del usuario. Si un usuario intentó enviar mensajes a una app de Chat con varios y, como resultado, recibí varias instrucciones haciendo clic en un elemento 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, debería ser idéntico al evento original; Sin embargo, hay algunas situaciones en las que MESSAGE los eventos de interacción pueden ser diferentes. Por ejemplo, cuando un mensaje menciona ambos de las apps de Chat A y B, el usuario puede editar el mensaje si la app de Chat A responde con un mensaje normal antes de autenticarse App de Chat B. En este caso, La app de Chat B recibe el texto del mensaje editado después de usuario completa la autenticación y la configuración.

Autentica el usuario de Chat fuera de Chat

En algunos casos, como cuando se solicita la autorización de OAuth para una API, la aplicación necesita para vincular a una URL fuera de Chat y, al mismo tiempo, mantener el acceso del usuario con tu identidad. La mejor manera de identificar al usuario en estos casos es proteger la la app de destino con Acceso con Google.

Usa el token de identidad emitidas durante el acceso para obtener el ID del usuario. La reclamación sub contiene el ID del usuario único y se puede correlacionar con el ID del 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 de sub a una users/{user} de Google Chat, anteponer el valor con users/. Por ejemplo, el valor del reclamo de 123 es equivalente. al nombre de usuario users/123 en los mensajes enviados a tu App de Chat