Mit eingehenden Webhooks können Sie asynchrone Nachrichten von Anwendungen senden, die keine Chat-Apps sind. So können Sie beispielsweise eine Monitoring-Anwendung so konfigurieren, dass das Bereitschaftsteam in Google Chat benachrichtigt wird, wenn ein Server ausfällt.
Wie Sie eine Nachricht in einem Chatbereich mit einer Chat-App asynchron senden, aktualisieren oder löschen, erfahren Sie unter Nachrichten erstellen, lesen, aktualisieren, löschen.
Vorbereitung
Zum Ausführen des Beispiels in diesem Leitfaden benötigen Sie:
Python
- Python 3.10.7 oder höher
- Zugriff auf das Internet und einen Webbrowser.
- Ein Google Workspace-Konto mit Zugriff auf Google Chat
- Ein bestehender Google Chat-Bereich.
Die
httplib2
-Bibliothek. Führen Sie bei Bedarf den folgenden Befehlszeilenbefehl aus, um die Bibliothek mit „pip“ zu installieren:pip install httplib2
Node.js
- Node.js und npm sind installiert.
- Zugriff auf das Internet und einen Webbrowser.
- Ein Google Workspace-Konto mit Zugriff auf Google Chat
- Ein bestehender Google Chat-Bereich.
Apps Script
- Zugriff auf das Internet und einen Webbrowser.
- Ein Google Workspace-Konto mit Zugriff auf Google Chat
- Ein bestehender Google Chat-Bereich.
Java
- Java 11 oder höher.
- Apache Maven
- Zugriff auf das Internet und einen Webbrowser.
- Ein Google Workspace-Konto mit Zugriff auf Google Chat
- Ein bestehender Google Chat-Bereich.
Webhook erstellen
Registrieren Sie den Webhook in dem Google Chat-Bereich, in den Sie Nachrichten senden möchten. Erstellen Sie dann ein Skript, über das Nachrichten gesendet werden.
Schritt 1: Eingehenden Webhook registrieren
- Öffnen Sie Google Chat in einem Webbrowser.
- Rufen Sie den Gruppenbereich auf, für den Sie einen Webhook hinzufügen möchten.
- Klicken Sie oben neben dem Titel des Gruppenbereichs auf den Drop-down-Pfeil > Apps & Integrationen.
- Klicken Sie auf Webhooks verwalten.
- Wenn dieser Gruppenbereich bereits andere Webhooks hat, klicken Sie auf Weitere hinzufügen. Andernfalls überspringen Sie diesen Schritt.
- Geben Sie unter Name „Kurzanleitungs-Webhook“ ein.
- Geben Sie für Avatar-URL
https://developers.google.com/chat/images/chat-product-icon.png
ein. - Klicke auf SPEICHERN.
- Klicken Sie zum Kopieren der vollständigen Webhook-URL auf Kopieren.
- Klicken Sie außerhalb des Felds, um das Dialogfeld „Eingehende Webhooks“ zu schließen.
Schritt 2: Webhook-Skript schreiben
Das Webhook-Beispielskript sendet eine Nachricht an den Gruppenbereich, in dem der Webhook registriert wird. Dazu wird eine create message-Anfrage an die Webhook-URL gesendet. Die Google Chat API antwortet mit einer Instanz von Message
.
Wählen Sie unten eine Sprache aus, um spezifische Informationen zum Erstellen des Webhook-Skripts zu erhalten:
Python
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
quickstart.py
.Kopieren Sie in
quickstart.py
den folgenden Code und fügen Sie ihn ein:Ersetzen Sie den Wert für die Variable
url
durch die Webhook-URL, die Sie in Schritt 1 kopiert haben: Eingehenden Webhook registrieren.
Node.js
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
index.js
.Kopieren Sie in
index.js
den folgenden Code und fügen Sie ihn ein:Ersetzen Sie den Wert für die Variable
webhookURL
durch die Webhook-URL, die Sie in Schritt 1 kopiert haben: Eingehenden Webhook registrieren.
Apps Script
Rufen Sie die Seite Apps Script auf.
Klicken Sie auf Neues Projekt.
Kopieren Sie den folgenden Code und fügen Sie ihn ein:
Ersetzen Sie den Wert für die Variable
url
durch die Webhook-URL, die Sie in Schritt 1 kopiert haben: Eingehenden Webhook registrieren.
Java
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
pom.xml
.Kopieren Sie in
pom.xml
Folgendes und fügen Sie es ein:Erstellen Sie in Ihrem Arbeitsverzeichnis die folgende Verzeichnisstruktur:
src/main/java
.Erstellen Sie im Verzeichnis
src/main/java
eine Datei mit dem NamenApp.java
.Kopieren Sie in
App.java
den folgenden Code und fügen Sie ihn ein:Ersetzen Sie den Wert für die Variable
URL
durch die Webhook-URL, die Sie in Schritt 1 kopiert haben: Eingehenden Webhook registrieren.
Schritt 3: Webhook-Skript ausführen
Führen Sie das Beispiel mit dem folgenden Befehl in Ihrem Arbeitsverzeichnis in der Befehlszeile aus:
Python
python3 quickstart.py
Node.js
node index.js
Apps Script
- Klicken Sie auf Ausführen.
Java
mvn compile exec:java -Dexec.mainClass=App
Wenn Sie den Beispielcode ausführen, sendet der Webhook eine Nachricht an den Gruppenbereich, in dem Sie ihn registriert haben.
Nachrichtenthread starten oder beantworten
Sie können eine Unterhaltung starten oder auf eine Nachricht antworten, indem Sie der Webhook-URL den Parameter threadKey
hinzufügen. Jedes threadKey
-Element ist eindeutig und gilt nur für die App, von der es festgelegt wird. Wenn zwei verschiedene Chat-Apps oder Webhooks denselben threadKey
-Wert festlegen, werden zwei verschiedene Threads gestartet.
Konversation starten
Wenn Sie die erste Nachricht einer Unterhaltung mit einem Webhook posten möchten, hängen Sie die Parameter threadKey
und messageReplyOption
an die Webhook-URL an. Legen Sie für threadKey
einen beliebigen String fest, aber denken Sie daran, was der String ist. Sie müssen ihn noch einmal angeben, um eine Antwort an den Thread zu senden.
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=ARBITRARY_STRING&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Auf eine Unterhaltung antworten
Wenn Sie eine Nachricht an einen vorhandenen Nachrichtenthread senden möchten, hängen Sie die Parameter threadKey
und messageReplyOption
an die Webhook-URL an, die auf den Wert festgelegt ist, der zum Starten des Threads verwendet werden soll. Wenn Sie beispielsweise eine Nachricht an die folgende URL senden, wird eine Antwort an die Unterhaltung gesendet, in der threadKey
MY-THREAD
und messageReplyOption
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
ist:
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=MY-THREAD&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Limits und Überlegungen
Beachten Sie beim Konfigurieren von Webhooks die folgenden Limits und Hinweise:
Jeder Webhook funktioniert nur in dem Chatbereich, in dem er registriert ist.
Sie können keine Webhooks im Google Workspace Marketplace veröffentlichen.
Webhooks sind nicht dialogorientiert. Sie können keine Nachrichten von Nutzern oder Termine aus Google Chat beantworten oder empfangen.
Wenn nur Organisationseinheiten (OE) in Ihrer Domain Chat-Apps aktiviert sind, geben eingehende Webhooks den folgenden Fehler zurück:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
Eingehende Webhooks funktionieren in Direktnachrichten, aber nur, wenn alle Nutzer Chat-Apps aktiviert haben.
Da
Webhooks verwalten nur über einen Webbrowser verfügbar sind, müssen Webhooks über die Chat-Web-App eingerichtet werden. Webhooks können über die mobile Chat App nicht konfiguriert werden.