Mit eingehenden Webhooks können Sie asynchrone Nachrichten von Anwendungen, die keine Chat-Anwendungen sind, an Google Chat senden. Sie können beispielsweise eine Überwachungsanwendung so konfigurieren, dass das Bereitschaftspersonal in Google Chat benachrichtigt wird, wenn ein Server ausfällt.
Informationen zum asynchronen Senden, Aktualisieren oder Löschen einer Nachricht in einem Chatbereich mit einer Chat-App finden Sie unter Nachrichten erstellen, lesen, aktualisieren und löschen.
Voraussetzungen
Um das Beispiel in diesem Leitfaden auszuführen, benötigen Sie Folgendes:
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 vorhandener Google Chat-Bereich.
Die
httplib2
-Bibliothek. Führen Sie bei Bedarf den folgenden Befehl über die Befehlszeile aus, um die Bibliothek mit pip zu installieren:pip install httplib2
Node.js
- Node.js und npm installiert
- Zugriff auf das Internet und einen Webbrowser.
- Ein Google Workspace-Konto mit Zugriff auf Google Chat.
- Ein vorhandener Google Chat-Bereich.
Apps Script
- Zugriff auf das Internet und einen Webbrowser.
- Ein Google Workspace-Konto mit Zugriff auf Google Chat.
- Ein vorhandener 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 vorhandener Google Chat-Bereich.
Webhook erstellen
Wenn Sie einen Webhook erstellen möchten, registrieren Sie ihn in dem Google Chat-Bereich, in dem Sie Nachrichten empfangen möchten. Schreiben Sie dann ein Script, das Nachrichten sendet.
Schritt 1: Eingehenden Webhook registrieren
- Öffnen Sie Google Chat.
- Öffnen Sie den Gruppenbereich, dem Sie einen Webhook hinzufügen möchten.
- Klicken Sie neben dem Titel des Gruppenbereichs auf den Pfeil zum Maximieren und dann auf Apps und Integrationen.
- Klicken Sie auf Webhooks hinzufügen.
- Geben Sie im Feld Name
Quickstart Webhook
ein. - Geben Sie im Feld Avatar-URL den Wert
https://developers.google.com/chat/images/chat-product-icon.png
ein. - Klicken Sie auf Speichern.
- Klicken Sie zum Kopieren der Webhook-URL auf Mehr und dann auf Link kopieren.
Schritt 2: Webhook-Skript schreiben
Mit dem Beispiel-Webhook-Skript wird eine Nachricht in dem Gruppenbereich gepostet, in dem der Webhook registriert ist. Dazu wird eine Anfrage Create message (Nachricht erstellen) an die Webhook-URL gesendet. Die Google Chat API antwortet mit einer Instanz von Message
.
Wählen Sie unten eine Sprache aus, um spezifische Anweisungen zum Erstellen des Webhook-Skripts zu erhalten:
Python
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
quickstart.py
.Kopieren Sie den folgenden Code und fügen Sie ihn in
quickstart.py
ein:Ersetzen Sie den Wert für die Variable
url
durch die Webhook-URL, die Sie in „Schritt 1: eingehenden Webhook registrieren“ kopiert haben.
Node.js
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
index.js
.Kopieren Sie den folgenden Code und fügen Sie ihn in
index.js
ein:Ersetzen Sie den Wert für die Variable
webhookURL
durch die Webhook-URL, die Sie in „Schritt 1: eingehenden Webhook registrieren“ kopiert haben.
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: eingehenden Webhook registrieren“ kopiert haben.
Java
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
pom.xml
.Kopieren Sie den folgenden Code und fügen Sie ihn in
pom.xml
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 den folgenden Code und fügen Sie ihn in
App.java
ein:Ersetzen Sie den Wert für die Variable
URL
durch die Webhook-URL, die Sie in „Schritt 1: eingehenden Webhook registrieren“ kopiert haben.
Schritt 3: Webhook-Skript ausführen
Führen Sie das Beispiel mit dem folgenden Befehl aus 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.
Unterhaltungsthreads in einer Nachricht starten oder beantworten
Sie können einen Nachrichtenthread starten oder darauf antworten, indem Sie der Webhook-URL den Parameter threadKey
hinzufügen. Jede threadKey
ist für die App eindeutig, die sie festlegt. Wenn zwei verschiedene Chat-Apps oder Webhooks dieselbe threadKey
festlegen, werden zwei verschiedene Threads gestartet.
Unterhaltung starten
Wenn Sie die erste Nachricht eines Threads 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. Merken Sie sich aber, was er ist. Sie müssen ihn noch einmal angeben, um eine Antwort auf den Thread zu posten.
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=ARBITRARY_STRING&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Auf einen Nachrichtenthread 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, mit dem die Unterhaltung gestartet wurde. Wenn Sie beispielsweise eine Nachricht an die folgende URL senden, wird eine Antwort auf den Thread gepostet, in dem 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
Einschränkungen und Hinweise
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 keine dialogorientierten Webhooks. Sie können weder auf Nachrichten von Nutzern noch auf Interaktionsereignisse für Chat-Apps reagieren oder diese empfangen.
Wenn nur für ausgewählte Organisationseinheiten (OEs) 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 ist, müssen Webhooks in der Chat-Web-App eingerichtet werden. Webhooks können in der mobilen Google Chat App nicht konfiguriert werden.