Pour éviter aux utilisateurs de devoir changer de contexte lorsqu'ils partagent un lien dans Google Chat, votre application Chat peut prévisualiser le lien en ajoutant une fiche à leur message. Cette fiche fournit plus d'informations et permet aux utilisateurs d'effectuer des actions directement depuis Google Chat.
Par exemple, imaginez un espace Google Chat qui inclut tous les agents du service client d'une entreprise, ainsi qu'une application Chat nommée Case-y. Les agents partagent fréquemment des liens vers des demandes d'assistance client dans l'espace de discussion. Chaque fois qu'ils le font, leurs collègues doivent ouvrir le lien vers la demande pour afficher des informations telles que l'attributaire, l'état et l'objet. De même, si une personne souhaite s'approprier une demande ou en modifier l'état, elle doit ouvrir le lien.
L'aperçu des liens permet à l'application Chat résidente de l'espace, Case-y, de joindre une fiche indiquant l'attributaire, l'état et l'objet chaque fois qu'un utilisateur partage un lien vers une demande. Les boutons de la fiche permettent aux agents de s'approprier la demande et de modifier son état directement depuis le flux de chat.
Fonctionnement de l'aperçu des liens
Lorsqu'un utilisateur ajoute un lien à son message, un chip s'affiche pour l'informer qu'une application Chat peut prévisualiser le lien.

Après l'envoi du message, le lien est envoyé à l'application Chat, qui génère et joint ensuite la fiche au message de l'utilisateur.

En plus du lien, la fiche fournit des informations supplémentaires sur celui-ci, y compris des éléments interactifs tels que des boutons. Votre application Chat peut mettre à jour la fiche jointe en réponse aux interactions des utilisateurs, comme les clics sur des boutons.
Si un utilisateur ne souhaite pas que l'application Chat affiche un aperçu de son lien en ajoutant une fiche à son message, il peut empêcher l'aperçu en cliquant sur dans le chip d'aperçu. Les utilisateurs peuvent supprimer la fiche jointe à tout moment en cliquant sur Supprimer l'aperçu.
Prérequis
HTTP
Application Google Chat qui reçoit les interactions utilisateur et y répond. Pour en créer un, suivez le guide de démarrage rapide HTTP.
Apps Script
Application Google Chat qui reçoit les interactions utilisateur et y répond. Pour en créer un, suivez le guide de démarrage rapide Apps Script.
Configurer les aperçus de liens
Enregistrez des liens spécifiques (comme example.com, support.example.com et support.example.com/cases/) en tant que formats d'URL sur la page de configuration de votre application Chat dans la console Google Cloud afin que votre application Chat puisse les prévisualiser.

- Ouvrez la console Google Cloud.
- À côté de "Google Cloud", cliquez sur la flèche vers le bas , puis ouvrez le projet de votre application Chat.
- Dans le champ de recherche, saisissez
Google Chat API, puis cliquez sur API Google Chat. - Cliquez sur Gérer > Configuration.
- Sous "Aperçus des liens", ajoutez ou modifiez un format d'URL.
- Pour configurer les aperçus de liens pour un nouveau format d'URL, cliquez sur Ajouter un format d'URL.
- Pour modifier la configuration d'un format d'URL existant, cliquez sur la flèche vers le bas .
Dans le champ Format d'hôte, saisissez le domaine du format d'URL. L'application Chat prévisualisera les liens vers ce domaine.
Pour que l'application Chat prévisualise les liens d'un sous-domaine spécifique, comme
subdomain.example.com, incluez le sous-domaine.Pour que l'application Chat prévisualise les liens pour l'ensemble du domaine, spécifiez un caractère générique avec un astérisque (*) comme sous-domaine. Par exemple,
*.example.comcorrespond àsubdomain.example.cometany.number.of.subdomains.example.com.Dans le champ Préfixe du chemin d'accès, saisissez un chemin d'accès à ajouter au domaine du modèle d'hôte.
Pour faire correspondre toutes les URL du domaine du modèle d'hôte, laissez le champ Préfixe du chemin d'accès vide.
Par exemple, si le format d'hôte est
support.example.com, saisissezcases/pour faire correspondre les URL des cas hébergés sursupport.example.com/cases/.Cliquez sur OK.
Cliquez sur Enregistrer.
Désormais, chaque fois qu'un utilisateur inclut un lien qui correspond à un format d'URL d'aperçu de lien dans un message d'un espace Chat qui inclut votre application Chat, votre application prévisualise le lien.
Prévisualiser un lien
Une fois que vous avez configuré la prévisualisation des liens pour un lien donné, votre application Chat peut le reconnaître et le prévisualiser en y ajoutant des informations.
Dans les espaces Chat qui incluent votre application Chat, lorsqu'un message contient un lien qui correspond à un format d'URL d'aperçu de lien, votre application Chat reçoit un objet d'événement avec un MessagePayload.
Dans la charge utile, l'objet message.matchedUrl (chat.messagePayload.message.matchedUrl.url) contient le lien que l'utilisateur a inclus dans le message :
JSON
message: {
matchedUrl: {
url: "https://support.example.com/cases/case123"
},
... // other message attributes redacted
}
En vérifiant la présence du champ matchedUrl dans la charge utile de l'événement MESSAGE (chat.messagePayload.message.matchedUrl.url), votre application Chat peut ajouter des informations au message avec le lien prévisualisé. Votre application Chat peut répondre avec un message texte de base ou joindre une fiche.
Répondre par message
Pour les réponses de base, votre application Chat peut prévisualiser un lien en répondant par un message texte simple à un lien. Cet exemple joint un message qui répète l'URL du lien correspondant à un format d'URL d'aperçu de lien.
Node.js
Remplacez FUNCTION_URL par le point de terminaison HTTP qui gère les clics sur les boutons.
Python
Remplacez FUNCTION_URL par le point de terminaison HTTP qui gère les clics sur les boutons.
Java
Remplacez FUNCTION_URL par le point de terminaison HTTP qui gère les clics sur les boutons.
Apps Script
Joindre une fiche qui affiche un aperçu du lien
Pour joindre une fiche à un lien prévisualisé, renvoyez l'action DataActions avec l'objet ChatDataActionMarkup de type UpdateInlinePreviewAction.
Dans l'exemple suivant, une application Chat ajoute une fiche d'aperçu aux messages contenant le format d'URL support.example.com.

Node.js
Remplacez FUNCTION_URL par le point de terminaison HTTP qui gère les clics sur les boutons.
Python
Remplacez FUNCTION_URL par le point de terminaison HTTP qui gère les clics sur les boutons.
Java
Remplacez FUNCTION_URL par le point de terminaison HTTP qui gère les clics sur les boutons.
Apps Script
Modifier une carte d'aperçu de lien
Votre application Chat peut mettre à jour une fiche d'aperçu de lien lorsque les utilisateurs interagissent avec elle, par exemple en cliquant sur un bouton de la fiche.
Pour mettre à jour la fiche, votre application Chat doit renvoyer l'action DataActions avec l'un des objets ChatDataActionMarkup suivants :
- Si un utilisateur a envoyé le message, renvoyez un objet
UpdateMessageAction. - Si l'application Chat a envoyé le message, renvoyez un objet
UpdateInlinePreviewAction.
Pour déterminer qui a envoyé le message, utilisez la charge utile de l'événement (buttonClickedPayload) pour vérifier si l'expéditeur (message.sender.type) est défini sur HUMAN (utilisateur) ou BOT (application Chat).
L'exemple suivant montre comment une application de chat met à jour un aperçu de lien chaque fois qu'un utilisateur clique sur le bouton M'attribuer en mettant à jour le champ Responsable de la fiche et en désactivant le bouton.

Node.js
Remplacez FUNCTION_URL par le point de terminaison HTTP qui gère les clics sur les boutons.
Python
Remplacez FUNCTION_URL par le point de terminaison HTTP qui gère les clics sur les boutons.
Java
Remplacez FUNCTION_URL par le point de terminaison HTTP qui gère les clics sur les boutons.
Apps Script
Limites et points à prendre en compte
Lorsque vous configurez les aperçus de liens pour votre application Chat, tenez compte des limites et des points suivants :
- Chaque application Chat accepte les aperçus de liens pour un maximum de cinq modèles d'URL.
- Les applications de chat prévisualisent un lien par message. Si un même message contient plusieurs liens prévisualisables, seul le premier est prévisualisé.
- Les applications de chat n'affichent l'aperçu que des liens commençant par
https://. Par conséquent,https://support.example.com/cases/s'affiche, mais passupport.example.com/cases/. - Sauf si le message inclut d'autres informations qui sont envoyées à l'application Chat, comme une commande à barre oblique, seule l'URL du lien est envoyée à l'application Chat par les aperçus de liens.
- Si un utilisateur publie le lien, une application Chat ne peut mettre à jour la fiche d'aperçu du lien que si les utilisateurs interagissent avec la fiche, par exemple en cliquant sur un bouton. Vous ne pouvez pas appeler la méthode
update()de l'API Chat sur la ressourceMessagepour mettre à jour le message d'un utilisateur de manière asynchrone. - Les applications Chat doivent prévisualiser les liens pour tous les membres de l'espace. Le message doit donc omettre le champ
privateMessageViewer.
Déboguer les aperçus de liens
Lorsque vous implémentez des aperçus de liens, vous devrez peut-être déboguer votre application Chat en lisant ses journaux. Pour lire les journaux, accédez à l'explorateur de journaux dans la console Google Cloud.
Applications de chat qui ne sont pas des modules complémentaires : prévisualiser les liens
La documentation suivante s'applique aux applications Chat qui ne sont pas des modules complémentaires Google Workspace. Pour migrer une application Chat qui n'est pas un module complémentaire, consultez Convertir une application Google Chat en module complémentaire Google Workspace.
Dans les espaces Chat qui incluent une application Chat qui n'est pas un module complémentaire, lorsqu'un message contient un lien qui correspond à un format d'URL d'aperçu de lien, l'application Chat reçoit un événement d'interaction MESSAGE. La charge utile JSON de l'événement d'interaction contient le champ matchedUrl :
JSON
message: {
matchedUrl: {
url: "https://support.example.com/cases/case123"
},
... // other message attributes redacted
}
En vérifiant la présence du champ matchedUrl dans la charge utile de l'événement MESSAGE, une application Chat qui n'est pas un module complémentaire peut ajouter des informations au message avec le lien prévisualisé.
Répondre par message
Pour les réponses de base, une application Chat qui n'est pas un module complémentaire peut prévisualiser un lien en répondant par un message texte simple à un lien. Cet exemple joint un message qui répète l'URL du lien correspondant à un format d'URL d'aperçu de lien :
Node.js
Python
Java
Apps Script
Joindre une fiche qui affiche un aperçu du lien
Pour joindre une fiche à un lien prévisualisé dans une application Chat qui n'est pas un module complémentaire, renvoyez un ActionResponse de type UPDATE_USER_MESSAGE_CARDS. Cet exemple associe une carte de base :
Node.js
Python
Java
Apps Script
Cet exemple envoie un message de carte en renvoyant le code JSON de la carte. Vous pouvez également utiliser le service de cartes Apps Script.
Modifier une carte d'aperçu de lien
Pour mettre à jour une fiche de prévisualisation de lien dans une application Chat qui n'est pas un module complémentaire, gérez l'événement d'interaction CARD_CLICKED et renvoyez un actionResponse en fonction de l'expéditeur du message contenant la prévisualisation du lien :
- Si un utilisateur a envoyé le message, définissez
actionResponse.typesurUPDATE_USER_MESSAGE_CARDS. - Si l'application Chat a envoyé le message, définissez
actionResponse.typesurUPDATE_MESSAGE.
Pour déterminer qui a envoyé le message, vous pouvez utiliser le champ message.sender.type de l'événement d'interaction pour savoir si l'expéditeur était un utilisateur HUMAN ou BOT.
L'exemple suivant montre comment une application de chat qui n'est pas un module complémentaire met à jour un aperçu de lien chaque fois qu'un utilisateur clique sur le bouton M'attribuer en mettant à jour le champ Assigné à de la fiche et en désactivant le bouton :
Node.js
Python
Java
Apps Script
Cet exemple envoie un message de carte en renvoyant le code JSON de la carte. Vous pouvez également utiliser le service de cartes Apps Script.