Mit eingehenden Webhooks können Sie asynchrone Nachrichten von Anwendungen, die keine Chat-Apps sind, an Google Chat senden. Sie können beispielsweise eine Monitoring-Anwendung so konfigurieren, dass Bereitschaftsmitarbeiter in Google Chat benachrichtigt werden, wenn ein Server ausfällt.
Informationen zum asynchronen Senden, Aktualisieren oder Löschen von Nachrichten in einem Chatbereich mit einer Chat-App finden Sie unter Nachrichten erstellen, lesen, aktualisieren, löschen.
Voraussetzungen
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 vorhandener Google Chat-Bereich.
Die
httplib2
-Bibliothek. Führen Sie bei Bedarf den folgenden Befehlszeilenbefehl aus, um die Bibliothek mithilfe von 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 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 Chatbereich von Google Chat, in dem Sie Nachrichten empfangen möchten. Schreiben Sie dann ein Skript, das Nachrichten sendet.
Schritt 1: Eingehenden Webhook registrieren
- Öffnen Sie Google Chat in einem Webbrowser.
- Rufen Sie den Gruppenbereich auf, dem Sie einen Webhook hinzufügen möchten.
- Klicken Sie oben neben dem Titel des Gruppenbereichs auf den
Webhooks verwalten.
Abwärtspfeil > - Wenn dieser Gruppenbereich bereits andere Webhooks hat, klicken Sie auf Weitere hinzufügen. Andernfalls überspringen Sie diesen Schritt.
- Geben Sie unter Name die Option „Quickstart Webhook“ ein.
- Geben Sie als Avatar-URL
https://developers.google.com/chat/images/chat-product-icon.png
ein. - Klicke auf SPEICHERN.
- Klicken Sie auf Kopieren, um die vollständige Webhook-URL zu kopieren.
- Klicken Sie auf eine Stelle außerhalb des Felds, um das Dialogfeld „Eingehende Webhooks“ zu schließen.
Schritt 2: Webhook-Skript schreiben
Im Beispiel-Webhook-Skript wird eine Nachricht an den Gruppenbereich gesendet, 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 eine spezifische Anleitung 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 registriert 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 registriert 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 registriert haben.
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 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 registriert 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.
Nachrichtenthread starten oder beantworten
Sie können einen Nachrichtenthread starten oder darauf antworten, indem Sie der Webhook-URL den Parameter threadKey
hinzufügen. Jeder threadKey
ist einzigartig für die App, von der er festgelegt wird. Wenn zwei verschiedene Chat-Apps oder Webhooks dieselbe threadKey
festlegen, werden zwei verschiedene Threads gestartet.
Unterhaltungsthread starten
Wenn Sie die erste Nachricht eines Threads mit einem Webhook posten möchten, hängen Sie den Parameter threadKey
an die Webhook-URL an. Legen Sie threadKey
auf einen beliebigen String fest, aber denken Sie daran, was er ist. Sie müssen ihn noch einmal angeben, damit Sie eine Antwort an den Thread senden können.
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=ARBITRARY_STRING
Auf eine Unterhaltung antworten
Um eine Nachricht an einen vorhandenen Nachrichtenthread zu senden, hängen Sie den Parameter threadKey
an die Webhook-URL an, die auf den Wert festgelegt ist, der zum Starten des Threads verwendet wird. Wenn Sie beispielsweise eine Nachricht an die folgende URL senden, wird eine Antwort an den Thread mit threadKey
(MY-THREAD
) gesendet:
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=MY-THREAD
Limits und Überlegungen
Beachten Sie beim Konfigurieren von Webhooks die folgenden Einschränkungen und Überlegungen:
Jeder Webhook funktioniert nur in dem Chatbereich, in dem er registriert ist.
Sie können im Google Workspace Marketplace keine Webhooks veröffentlichen.
Webhooks sind nicht dialogorientiert. Sie können keine Nachrichten von Nutzern oder Terminen aus Google Chat beantworten oder empfangen.
Wenn in Ihrer Domain nur Organisationseinheiten (OEs) aktiviert sind und 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, allerdings nur, wenn alle Nutzer Chat-Apps aktiviert haben.
Da
Webhooks verwalten nur in einem Webbrowser verfügbar ist, müssen Webhooks über die Chat-Web-App eingerichtet werden. Webhooks können über die mobile Chat App nicht konfiguriert werden.