Auf dieser Seite wird beschrieben, wie Sie einen Webhook einrichten, um asynchrone Nachrichten an einen Chatbereich mit externen Triggern. So können Sie zum Beispiel eine Überwachungsanwendung konfigurieren, die Bereitschaftspersonal über Chatten, wenn ein Server ausfällt So senden Sie eine synchrone Nachricht: mit einer Chat-App finden Sie unter Nachricht senden
Bei dieser Art von Architektur können Nutzer nicht mit dem Webhook oder dem verbundenen externen Netzwerk interagieren, da die Kommunikation in eine Richtung erfolgt. Webhooks sind keine dialogorientierten Webhooks. Sie können keine Nachrichten von Nutzern oder Chat-App-Interaktionsereignisse: So antwortest du auf Nachrichten: Chat-App erstellen statt eines Webhooks.
Ein Webhook ist technisch gesehen nicht eine Chat-App: Webhooks verbinden Anwendungen über die HTTP-Anfragen – auf dieser Seite wird sie als Chat-App für Vereinfachung. Jeder Webhook funktioniert nur im Chatbereich in der es registriert ist. Eingehende Webhooks funktionieren in Direktnachrichten, aber nur, wenn haben alle Nutzenden Chat-Apps aktiviert: Sie können im Google Workspace Marketplace keine Webhooks veröffentlichen.
Das folgende Diagramm zeigt die Architektur eines Webhooks, der mit Chat:
Im obigen Diagramm hat eine Chat-App Folgendes: Informationsfluss:
- Die Chat-App-Logik empfängt Informationen von externe Dienste von Drittanbietern, wie z. B. ein Projektmanagementsystem oder Ticketing-Tool.
- Die Chat-App-Logik wird entweder in einer Cloud oder lokales System, das Nachrichten über eine Webhook-URL an eine einem bestimmten Chatbereich.
- Nutzer können Nachrichten aus der Chat App empfangen in Chatbereich, können aber nicht mit dem Chat-App.
Vorbereitung
Python
- Unternehmen Google Workspace-Konto mit Zugriff auf Google Chat: Ihre Google Workspace-Organisation muss Nutzern erlauben, Eingehende Webhooks hinzufügen und verwenden
- Python 3.6 oder höher
- Paketverwaltungstool pip
Die
httplib2
-Bibliothek. Führen Sie den folgenden Befehl in der Befehlszeile aus, um die Bibliothek zu installieren:pip install httplib2
Ein Google Chat-Bereich Informationen zum Erstellen mit der Google Chat API finden Sie unter Erstellen Sie einen Gruppenbereich. So erstellen Sie ein Konto in Google Chat: finden Sie in der Hilfeartikel
Node.js
- Unternehmen Google Workspace-Konto mit Zugriff auf Google Chat: Ihre Google Workspace-Organisation muss Nutzern erlauben, Eingehende Webhooks hinzufügen und verwenden
- Node.js 14 oder höher
- Der Parameter npm Paketverwaltungstool
- Ein Google Chat-Bereich Informationen zum Erstellen mit der Google Chat API finden Sie unter Erstellen Sie einen Gruppenbereich. So erstellen Sie ein Konto in Google Chat: finden Sie in der Hilfeartikel
Java
- Unternehmen Google Workspace-Konto mit Zugriff auf Google Chat: Ihre Google Workspace-Organisation muss Nutzern erlauben, Eingehende Webhooks hinzufügen und verwenden
- Java 11 oder höher
- Das Maven-Paketverwaltungstool
- Ein Google Chat-Bereich Informationen zum Erstellen mit der Google Chat API finden Sie unter Erstellen Sie einen Gruppenbereich. So erstellen Sie ein Konto in Google Chat: finden Sie in der Hilfeartikel
Apps Script
- Unternehmen Google Workspace-Konto mit Zugriff auf Google Chat: Ihre Google Workspace-Organisation muss Nutzern erlauben, Eingehende Webhooks hinzufügen und verwenden
- Eigenständiges Apps Script-Projekt erstellen und aktivieren Sie den erweiterten Chatdienst.
- Ein Google Chat-Bereich Informationen zum Erstellen mit der Google Chat API finden Sie unter Erstellen Sie einen Gruppenbereich. So erstellen Sie ein Konto in Google Chat: finden Sie in der Hilfeartikel
Webhook erstellen
Um einen Webhook zu erstellen, registrieren Sie ihn im gewünschten Chatbereich. um Nachrichten zu empfangen, und schreiben dann ein Skript, das Nachrichten sendet.
Eingehenden Webhook registrieren
- Öffnen Sie in einem Browser Chatten: Webhooks können in der mobilen Google Chat App nicht konfiguriert werden.
- Rufen Sie den Gruppenbereich auf, dem Sie einen Webhook hinzufügen möchten.
- Klicken Sie neben dem Titel des Gruppenbereichs auf das Maximieren Sie den Pfeil zum Maximieren und klicken Sie 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 (Avatar-URL) Folgendes ein:
https://developers.google.com/chat/images/chat-product-icon.png
Klicken Sie auf Speichern.
Klicken Sie zum Kopieren der Webhook-URL auf
Mehr und klicken Sie dann auf Link kopieren.
Webhook-Skript schreiben
Mit dem Beispiel-Webhook-Skript wird eine Nachricht an den Gruppenbereich gesendet, in dem sich der Webhook befindet
registriert, indem eine POST
-Anfrage an die Webhook-URL gesendet wird. Die
Die Chat API antwortet mit einer Instanz von
Message
Wählen Sie eine Sprache aus, um zu erfahren, wie Sie ein Webhook-Skript erstellen:
Python
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
quickstart.py
.Fügen Sie in
quickstart.py
den folgenden Code ein:Ersetzen Sie den Wert für die Variable
url
durch die Webhook-URL, die Sie bei der Registrierung des Webhooks kopiert haben.
Node.js
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
index.js
.Fügen Sie in
index.js
den folgenden Code ein:Ersetzen Sie den Wert für die Variable
url
durch die Webhook-URL, die Sie bei der Registrierung des Webhooks 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
.Fügen Sie in
App.java
den folgenden Code ein:Ersetzen Sie den Wert für die Variable
URL
durch die Webhook-URL, wurde bei der Registrierung des Webhooks kopiert.
Apps Script
Rufen Sie in einem Browser Apps Script
Klicken Sie auf New Project (Neues Projekt).
Fügen Sie den folgenden Code ein:
Ersetzen Sie den Wert für die Variable
url
durch die Webhook-URL, wurde bei der Registrierung des Webhooks kopiert.
Webhook-Skript ausführen
Führen Sie das Skript in einer Befehlszeile aus:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
Apps Script
- Klicken Sie auf Ausführen.
Wenn Sie den Code ausführen, sendet der Webhook eine Nachricht an den Gruppenbereich, in dem Sie haben sie es registriert.
Nachrichten-Thread starten oder beantworten
Definieren
spaces.messages.thread.threadKey
als Teil des Nachrichtenanfragetexts ein. Je nachdem, ob Sie Wenn Sie auf einen Thread antworten, verwenden Sie fürthreadKey
die folgenden Werte:Wenn Sie einen Thread starten, legen Sie
threadKey
auf einen beliebigen String fest, aber Notieren Sie sich diesen Wert, um eine Antwort auf den Thread zu posten.Wenn Sie auf einen Thread antworten, geben Sie die
threadKey
an, die beim Diskussion wurde gestartet. Um beispielsweise eine Antwort auf einen Thread zu posten, in dem der erste Nachricht verwendetMY-THREAD
,MY-THREAD
festgelegt.
Definieren Sie das Threadverhalten, wenn die angegebene
threadKey
nicht gefunden wird:Antworten Sie auf eine Unterhaltung oder starten Sie eine neue Unterhaltung. Fügen Sie den Parameter
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
für die Webhook-URL. Die Übergabe dieses URL-Parameters führt dazu, um mit dem angegebenenthreadKey
nach einem vorhandenen Thread zu suchen. Wenn eine gefunden wird, wird die Nachricht als Antwort auf diesen Thread gepostet. Wenn keiner der folgenden Werte ist: gefunden wird, startet die Nachricht einen neuen Thread fürthreadKey
Auf eine Konversation antworten oder nichts unternehmen. Fügen Sie den
messageReplyOption=REPLY_MESSAGE_OR_FAIL
-Parameter an die Webhook-URL. Die Übergabe dieses URL-Parameters führt dazu, um mit dem angegebenenthreadKey
nach einem vorhandenen Thread zu suchen. Wenn eine gefunden wird, wird die Nachricht als Antwort auf diesen Thread gepostet. Wenn keiner der folgenden Werte ist: gefunden wird, wird die Nachricht nicht gesendet.
Weitere Informationen finden Sie unter
messageReplyOption
.
Mit dem folgenden Codebeispiel wird ein Nachrichten-Thread gestartet oder darauf geantwortet: