Cette page explique comment configurer un webhook pour envoyer des messages asynchrones dans un Espace Chat à l'aide de déclencheurs externes. Par exemple, vous pouvez configurer une application de surveillance pour informer le personnel d'astreinte Discutez en cas de panne d'un serveur. Pour envoyer un message synchrone avec une application Chat, consultez Envoyer un message
Avec ce type d'architecture, les utilisateurs ne peuvent pas interagir avec le webhook car la communication est à sens unique. Les webhooks ne sont pas conversationnels. Ils ne peuvent pas répondre aux messages des utilisateurs, ni en recevoir Événements d'interaction avec l'application Chat Pour répondre aux messages : créer une application Chat au lieu d'un webhook.
Bien qu'un webhook ne soit pas techniquement Application Chat : webhooks connectent les applications à l'aide des Requêtes HTTP : cette page y fait référence en tant qu'application de chat pour la simplification. Chaque webhook ne fonctionne que dans l'espace Chat de dans lequel il est enregistré. Les webhooks entrants fonctionnent dans les messages privés, mais uniquement lorsque tous les utilisateurs ont Applications Chat activées : Vous ne pouvez pas publier de webhooks sur Google Workspace Marketplace.
Le schéma suivant illustre l'architecture d'un webhook connecté à Chat:
Dans le schéma précédent, une application Chat possède les éléments suivants : flux d'informations:
- La logique de l'application Chat reçoit des informations des services tiers externes, tels qu'un système de gestion de projets ou un outil de billetterie.
- La logique de l'application Chat est hébergée dans le cloud ou qui peut envoyer des messages via une URL de webhook à un espace Chat spécifique.
- Les utilisateurs peuvent recevoir des messages de l'application Chat dans cet espace Chat spécifique, mais ne peuvent pas interagir avec Application Chat
Prérequis
Python
- Une entreprise Un compte Google Workspace ayant accès à Google Chat : Votre organisation Google Workspace doit autoriser les utilisateurs ajouter et utiliser des webhooks entrants.
- Python 3.6 ou version ultérieure
- L'outil de gestion de packages pip
Bibliothèque
httplib2
Pour installer la bibliothèque, exécutez la commande suivante dans votre interface de ligne de commande:pip install httplib2
Un espace Google Chat Pour en créer un à l'aide de l'API Google Chat, consultez Créez un espace. Pour en créer un dans Chat : consultez le Documentation du Centre d'aide
Node.js
- Une entreprise Un compte Google Workspace ayant accès à Google Chat : Votre organisation Google Workspace doit autoriser les utilisateurs ajouter et utiliser des webhooks entrants.
- Node.js 14 ou version ultérieure
- La commande npm outil de gestion des paquets
- Un espace Google Chat Pour en créer un à l'aide de l'API Google Chat, consultez Créez un espace. Pour en créer un dans Chat : consultez le Documentation du Centre d'aide
Java
- Une entreprise Un compte Google Workspace ayant accès à Google Chat : Votre organisation Google Workspace doit autoriser les utilisateurs ajouter et utiliser des webhooks entrants.
- Java 11 ou version ultérieure
- L'outil de gestion de paquets Maven
- Un espace Google Chat Pour en créer un à l'aide de l'API Google Chat, consultez Créez un espace. Pour en créer un dans Chat : consultez le Documentation du Centre d'aide
Apps Script
- Une entreprise Un compte Google Workspace ayant accès à Google Chat : Votre organisation Google Workspace doit autoriser les utilisateurs ajouter et utiliser des webhooks entrants.
- Créer un projet Apps Script autonome et activez le service de chat avancé.
- Un espace Google Chat Pour en créer un à l'aide de l'API Google Chat, consultez Créez un espace. Pour en créer un dans Chat : consultez le Documentation du Centre d'aide
Créer un webhook
Pour créer un webhook, enregistrez-le dans l'espace Chat où vous le souhaitez recevoir des messages, puis écrire un script qui envoie des messages.
Enregistrer le webhook entrant
- Dans un navigateur, ouvrez Chatter. Les webhooks ne peuvent pas être configurés à partir de l'application mobile Chat.
- Accédez à l'espace dans lequel vous souhaitez ajouter un webhook.
- À côté du titre de l'espace, cliquez sur cliquez sur la flèche "Plus", puis sur Applications et intégrés.
Cliquez sur
Ajouter des webhooks.Dans le champ Nom, saisissez
Quickstart Webhook
.Dans le champ URL de l'avatar, saisissez
https://developers.google.com/chat/images/chat-product-icon.png
Cliquez sur Enregistrer.
Pour copier l'URL du webhook, cliquez sur
Plus, puis cliquez sur Copier le lien.
Écrire le script du webhook
L'exemple de script de webhook envoie un message à l'espace dans lequel le webhook est
enregistré en envoyant une requête POST
à l'URL du webhook. La
L'API Chat renvoie une instance de
Message
Sélectionnez un langage pour apprendre à créer un script de webhook:
Python
Dans votre répertoire de travail, créez un fichier nommé
quickstart.py
.Dans
quickstart.py
, collez le code suivant:Remplacez la valeur de la variable
url
par l'URL de webhook qui que vous avez copiés lors de l'enregistrement du webhook.
Node.js
Dans votre répertoire de travail, créez un fichier nommé
index.js
.Dans
index.js
, collez le code suivant:Remplacez la valeur de la variable
url
par l'URL de webhook qui que vous avez copiés lors de l'enregistrement du webhook.
Java
Dans votre répertoire de travail, créez un fichier nommé
pom.xml
.Dans
pom.xml
, copiez et collez le contenu suivant:Dans votre répertoire de travail, créez la structure de répertoire suivante :
src/main/java
Dans le répertoire
src/main/java
, créez un fichier nomméApp.java
.Dans
App.java
, collez le code suivant:Remplacez la valeur de la variable
URL
par l'URL de webhook que vous copié lors de l'enregistrement du webhook.
Apps Script
Dans un navigateur, accédez à Apps Script.
Cliquez sur New Project (Nouveau projet).
Collez le code suivant :
Remplacez la valeur de la variable
url
par l'URL de webhook que vous copié lors de l'enregistrement du webhook.
Exécuter le script du webhook
Dans une CLI, exécutez le script suivant:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
Apps Script
- Cliquez sur Exécuter.
Lorsque vous exécutez le code, le webhook envoie un message à l'espace dans lequel vous l'a enregistré.
Démarrer un fil de discussion ou y répondre
Préciser
spaces.messages.thread.threadKey
dans le corps de la demande de message. Selon que vous débutez ou répondant à un fil de discussion, utilisez les valeurs suivantes pourthreadKey
:Si vous démarrez un thread, définissez
threadKey
sur une chaîne arbitraire, mais notez cette valeur pour publier une réponse dans le fil de discussion.Si vous répondez à un fil de discussion, spécifiez le
threadKey
défini lors de la fil de discussion a démarré. Par exemple, pour publier une réponse dans le fil de discussion où message initial utiliséMY-THREAD
, définissezMY-THREAD
.
Définissez le comportement du thread si le
threadKey
spécifié est introuvable:Répondez à un fil de discussion ou créez-en un. Ajoutez le
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
au paramètre l'URL du webhook. Si vous transmettez ce paramètre d'URL, Chat pour rechercher un thread existant à l'aide duthreadKey
spécifié. Si un est trouvé, le message est publié en réponse à ce fil de discussion. Si aucune n'est le message démarre alors un nouveau fil de discussion correspondant à cettethreadKey
répondre à un fil de discussion ou ne rien faire ; Ajoutez le le paramètre
messageReplyOption=REPLY_MESSAGE_OR_FAIL
à l'URL du webhook. Si vous transmettez ce paramètre d'URL, Chat pour rechercher un thread existant à l'aide duthreadKey
spécifié. Si un est trouvé, le message est publié en réponse à ce fil de discussion. Si aucune n'est trouvé, le message n'est pas envoyé.
Pour en savoir plus, consultez
messageReplyOption
.
L'exemple de code suivant démarre un fil de discussion ou y répond:
Python
Node.js
Apps Script
Articles associés
- Choisir une architecture d'application Chat
- Envoyer des messages de cartes
- Mettre en forme des messages