Les webhooks entrants vous permettent d'envoyer des messages asynchrones dans Google Chat à partir d'applications autres que Chat. Par exemple, vous pouvez configurer une application de surveillance pour avertir le personnel d'astreinte sur Google Chat lorsqu'un serveur tombe en panne.
Pour savoir comment envoyer, mettre à jour ou supprimer un message de manière asynchrone dans un espace Chat avec une application Chat, consultez Créer, lire, mettre à jour et supprimer des messages.
Conditions préalables
Pour exécuter l'exemple de ce guide, vous avez besoin des éléments suivants:
Python
- Python 3.10.7 ou version ultérieure.
- Accès à Internet et à un navigateur Web.
- Compte Google Workspace ayant accès à Google Chat.
- Un espace Google Chat existant.
La bibliothèque
httplib2
. Si nécessaire, exécutez la commande d'interface de ligne de commande (CLI) suivante pour installer la bibliothèque à l'aide de pip:pip install httplib2
Node.js
- Node.js et npm installés
- Accès à Internet et à un navigateur Web.
- Compte Google Workspace ayant accès à Google Chat.
- Un espace Google Chat existant.
Apps Script
- Accès à Internet et à un navigateur Web.
- Compte Google Workspace ayant accès à Google Chat.
- Un espace Google Chat existant.
Java
- Java 11 ou version ultérieure
- Apache Maven
- Accès à Internet et à un navigateur Web.
- Compte Google Workspace ayant accès à Google Chat.
- Un espace Google Chat existant.
Créer un webhook
Pour créer un webhook, enregistrez-le dans l'espace Google Chat où vous souhaitez recevoir des messages, puis écrivez un script qui envoie des messages.
Étape 1: Enregistrer le webhook entrant
- Ouvrez Google Chat.
- Ouvrez l'espace auquel vous souhaitez ajouter un webhook.
- À côté du titre de l'espace, cliquez sur la flèche de développement , puis sur Applications et intégrations.
- 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 de webhook, cliquez sur Plus, puis sur Copier le lien.
Étape 2: Écrivez le script de webhook
L'exemple de script de webhook publie un message dans l'espace dans lequel le webhook est enregistré en postant une requête create message à l'URL du webhook. L'API Google Chat répond avec une instance de Message
.
Choisissez un langage ci-dessous pour obtenir des instructions spécifiques sur la création du script de webhook:
Python
Dans votre répertoire de travail, créez un fichier nommé
quickstart.py
.Dans
quickstart.py
, copiez et collez le code suivant:Remplacez la valeur de la variable
url
par l'URL de webhook que vous avez copiée à l'étape 1: Enregistrez le webhook entrant.
Node.js
Dans votre répertoire de travail, créez un fichier nommé
index.js
.Dans
index.js
, copiez et collez le code suivant:Remplacez la valeur de la variable
webhookURL
par l'URL de webhook que vous avez copiée à l'étape 1: Enregistrez le webhook entrant.
Apps Script
Accédez à la page Apps Script.
Cliquez sur New Project (Nouveau projet).
Copiez et collez le code suivant:
Remplacez la valeur de la variable
url
par l'URL de webhook que vous avez copiée à l'étape 1: Enregistrez le webhook entrant.
Java
Dans votre répertoire de travail, créez un fichier nommé
pom.xml
.Dans
pom.xml
, copiez et collez les éléments suivants:Dans votre répertoire de travail, créez la structure de répertoires suivante :
src/main/java
.Dans le répertoire
src/main/java
, créez un fichier nomméApp.java
.Dans
App.java
, copiez et collez le code suivant:Remplacez la valeur de la variable
URL
par l'URL de webhook que vous avez copiée à l'étape 1: Enregistrez le webhook entrant.
Étape 3: Exécutez le script de webhook
Exécutez l'exemple en exécutant la commande suivante depuis votre répertoire de travail dans votre CLI:
Python
python3 quickstart.py
Node.js
node index.js
Apps Script
- Cliquez sur Run (Exécuter).
Java
mvn compile exec:java -Dexec.mainClass=App
Lorsque vous exécutez l'exemple de code, le webhook envoie un message à l'espace dans lequel vous l'avez enregistré.
Démarrer un fil de discussion ou y répondre
Vous pouvez démarrer un fil de discussion ou y répondre en ajoutant le paramètre threadKey
à l'URL du webhook. Chaque threadKey
est unique à l'application qui le définit. Si deux applications Chat ou webhooks différents définissent le même threadKey
, deux threads différents démarrent.
Démarrer un fil de discussion
Pour publier le premier message d'un fil de discussion avec un webhook, ajoutez les paramètres threadKey
et messageReplyOption
à l'URL du webhook. Définissez threadKey
sur une chaîne arbitraire, mais n'oubliez pas de le spécifier à nouveau pour publier une réponse dans le fil de discussion.
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=ARBITRARY_STRING&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Répondre à un fil de discussion
Pour envoyer un message à un fil de discussion existant, ajoutez les paramètres threadKey
et messageReplyOption
à l'URL de webhook définie sur la valeur utilisée pour démarrer le fil de discussion. Par exemple, l'envoi d'un message à l'URL suivante publie une réponse au fil de discussion où threadKey
est MY-THREAD
et messageReplyOption
est REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
:
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=MY-THREAD&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Limites et considérations
Lorsque vous configurez des webhooks, tenez compte des limites et considérations suivantes:
Chaque webhook ne fonctionne que dans l'espace Chat dans lequel il est enregistré.
Vous ne pouvez pas publier de webhooks sur Google Workspace Marketplace.
Les webhooks ne sont pas des conversations. Elles ne peuvent ni répondre, ni recevoir de messages d'utilisateurs ni d'événements d'interaction avec l'application Chat.
Si les applications Chat sont activées uniquement pour certaines unités organisationnelles dans votre domaine, les webhooks entrants renvoient l'erreur suivante:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
Les webhooks entrants fonctionnent dans les messages privés, mais uniquement lorsque tous les utilisateurs ont activé les applications Chat.
Étant donné que
Gérer les webhooks n'est disponible que dans un navigateur Web, les webhooks doivent être configurés depuis l'application Web Chat. Les webhooks ne peuvent pas être configurés à partir de l'application mobile Chat.