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. Lorsque les applications Chat sont puissants seuls, ils fonctionnent souvent de concert avec d'autres systèmes et nécessitent pour connecter des comptes, autoriser l'accès aux données, afficher des données supplémentaires ou configurer des préférences utilisateur.

Prérequis

Une application Google Chat avec des fonctionnalités interactives. Pour créer un interactive, suivez l'un des guides de démarrage rapide suivants sur l'architecture de l'application que vous souhaitez utiliser: <ph type="x-smartling-placeholder">

Demander à un utilisateur de configurer une application Chat

Si l'exécution d'une requête nécessite une configuration supplémentaire qui ne peut pas être effectuées directement dans l'application Chat, renvoyez une l'URL de configuration dans le cadre d'une réponse normale ou la présenter en privé, 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 une authentification, une autorisation configuration. Une réponse REQUEST_CONFIG s'exclue mutuellement avec une réponse message de réponse. Le texte, les fiches et les autres attributs sont ignorés.

Terminer la demande de configuration

Toutes les Événement d'interaction MESSAGE reçues par votre application Chat inclut également le champ configCompleteRedirectUrl Vous devez encoder cette URL dans votre URL de configuration à utiliser une fois le processus terminé. Redirection vers cette page L'URL indique à Google Chat que la requête de configuration a été traitée.

Au démarrage de votre application Chat, la procédure dépend de la un message spécifique reçu. En réponse à un message tel que @app help, une L'application Chat doit répondre par un message sans nécessitant une configuration supplémentaire.

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

  1. Effacez l'invite qui s'est affichée pour l'utilisateur initial.
  2. Convertir le message original en message public afin qu'il soit visible par les autres membres de l'espace.
  3. Envoyer le message d'origine à la même application Chat une deuxième fois.

La visite d'un configCompleteRedirectUrl n'affecte qu'un seul message utilisateur. Si un utilisateur a essayé d'envoyer un message à une application Chat à plusieurs et, par conséquent, reçu plusieurs invites, en cliquant sur une et que l'exécution du processus d'authentification et de configuration n'affecte le message en question. 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, dans certains cas, MESSAGE les événements d'interaction peuvent différer. Par exemple, lorsqu'un message mentionne à la fois les applications Chat A et B, l'utilisateur peut modifier le message si l'application Chat A répond par un message standard avant de s'authentifier avec Application de chat B. Dans ce cas, L'application de chat B reçoit le texte modifié du message après la l'utilisateur effectue l'authentification et la configuration.

Authentifier l'utilisateur Chat en dehors de Chat

Dans certains cas, comme la demande d'autorisation OAuth pour une API, votre application a besoin pour rediriger les utilisateurs vers une URL en dehors de Chat l'identité. Dans ce cas, le meilleur moyen d'identifier l'utilisateur est de protéger le l'application de destination via Google Sign-In.

Utilisez les jeton d'identité émis lors de la connexion pour obtenir l'ID utilisateur. La revendication sub contient les informations unique et peut être mis 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. À convertir par coercition la valeur de la revendication sub dans un élément users/{user} Google Chat, ajouter la valeur par users/. Par exemple, la valeur de revendication de 123 est équivalente. au nom d'utilisateur users/123 dans les messages envoyés à votre Application Chat