Connecter une application Chat à d'autres services et outils

Cette page explique comment connecter une application Google Chat à un service ou un outil externe à Google Chat. Bien que les applications Chat soient puissantes en elles-mêmes, elles fonctionnent souvent de concert avec d'autres systèmes et nécessitent des applications associées pour connecter des comptes, autoriser l'accès aux données, afficher des données supplémentaires ou configurer les préférences utilisateur.

Prérequis

Une application Google Chat configurée pour recevoir des événements d'interaction et y répondre. Pour créer une application Chat interactive, suivez l'un des guides de démarrage rapide ci-dessous en fonction de l'architecture d'application que vous souhaitez utiliser :

Demander à un utilisateur de configurer l'application Chat

Si le traitement d'une demande nécessite une configuration supplémentaire qui ne peut pas être effectuée directement dans l'application Chat, renvoyez une URL de configuration à l'utilisateur dans une réponse normale ou présentez-la de manière privée, sous la forme suivante :

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

Cela indique à Google Chat de présenter à l'utilisateur une invite privée, où CONFIGURATION_URL est un lien que l'utilisateur peut consulter pour obtenir des informations supplémentaires sur l'authentification, l'autorisation ou la configuration. Une réponse REQUEST_CONFIG est mutuellement exclusive avec un message de réponse standard. Tout texte, toute fiche ou tout autre attribut est ignoré.

Remplir la demande de configuration

Chaque événement d'interaction MESSAGE, ADDED_TO_SPACE et APP_COMMAND que votre application Chat reçoit inclut également le champ configCompleteRedirectUrl. Vous devez encoder cette URL dans votre URL de configuration pour l'utiliser à la fin du processus. La redirection vers cette URL indique à Google Chat que la demande de configuration a été traitée.

Lorsque votre application Chat démarre, le flux dépend du message spécifique reçu. En réponse à un message tel que @app help, une application Chat doit répondre par un message sans nécessiter de configuration supplémentaire.

Lorsqu'un utilisateur est redirigé vers l'configCompleteRedirectUrl fourni dans le message d'origine, Google Chat effectue les étapes suivantes :

  1. Effacez l'invite affichée à l'utilisateur à l'origine de la demande.
  2. Convertissez le message d'origine en message public pour qu'il soit visible par les autres membres de l'espace.
  3. Envoyez le message d'origine une deuxième fois dans la même application Chat.

L'action de consulter une configCompleteRedirectUrl n'affecte qu'un seul message utilisateur. Si un utilisateur a essayé d'envoyer un message à une application Chat plusieurs fois et a donc reçu plusieurs invites, le fait de cliquer sur une invite spécifique et de terminer le processus d'authentification et de configuration n'affecte que ce message spécifique. Les autres messages ne sont pas modifiés.

Lorsqu'un événement d'interaction MESSAGE est renvoyé de cette manière, il doit être identique à l'événement d'origine. Toutefois, il existe des situations où les événements d'interaction MESSAGE peuvent différer. Par exemple, lorsqu'un message mentionne à la fois l'application Chat A et l'application Chat B, l'utilisateur peut modifier le message si l'application Chat A répond par un message standard avant l'authentification avec l'application Chat B. Dans ce cas, l'application de chat B reçoit le texte du message modifié une fois que l'utilisateur a terminé l'authentification et la configuration.

Authentifier l'utilisateur Chat en dehors de Chat

Dans certains cas, comme pour demander une autorisation OAuth pour une API, votre application doit créer un lien vers une URL en dehors de Chat tout en conservant l'identité de l'utilisateur. Dans ce cas, le meilleur moyen d'identifier l'utilisateur est de protéger l'application de destination avec Se connecter avec Google.

Utilisez le jeton d'identité émis lors de la connexion pour obtenir l'ID utilisateur. La revendication sub contient l'ID unique de l'utilisateur et peut être mise en corrélation avec l'ID utilisateur de Google Chat.

Bien que les deux ID ne soient pas exactement identiques, ils peuvent être forcés. Pour forcer la valeur de la revendication sub à un users/{user} Google Chat, ajoutez users/ devant la valeur. Par exemple, la valeur de revendication 123 équivaut au nom d'utilisateur users/123 dans les messages envoyés à votre application Chat.