Na tej stronie opisujemy, jak skonfigurować webhooka do wysyłania wiadomości asynchronicznych do pokoju czatu przy użyciu zewnętrznych aktywatorów. Możesz na przykład skonfigurować aplikację do monitorowania w Google Chat, która będzie powiadamiała personel dyżurny o awariach serwera. Informacje o wysyłaniu wiadomości synchronicznej za pomocą aplikacji Google Chat znajdziesz w sekcji Wysyłanie wiadomości.
Przy tego typu architekturze użytkownicy nie mogą korzystać z webhooka ani połączonej aplikacji zewnętrznej, ponieważ komunikacja jest jednokierunkowa. Webhooki nie służą do rozmów. Nie mogą odpowiadać na wiadomości użytkowników ani ich odpowiadać na zdarzenia interakcji z aplikacją Google Chat ani ich otrzymywać. Aby odpowiadać na wiadomości, utwórz aplikację Google Chat zamiast webhooka.
Webhook nie jest w zasadzie aplikacją do obsługi czatu – webhooki łączą aplikacje za pomocą standardowych żądań HTTP. Dla uproszczenia na tej stronie jest to aplikacja do obsługi czatu. Każdy webhook działa tylko w pokoju czatu, w którym jest zarejestrowany. Przychodzące webhooki działają na czacie, ale tylko wtedy, gdy wszyscy użytkownicy mają włączone aplikacje Google Chat. Nie będzie można publikować webhooków w Google Workspace Marketplace.
Poniższy diagram przedstawia architekturę webhooka połączonego z Google Chat:
Na poprzednim diagramie aplikacja do obsługi czatu zawiera następujący przepływ informacji:
- Logika aplikacji Google Chat otrzymuje informacje z usług zewnętrznych, takich jak system zarządzania projektami czy narzędzie do zgłaszania zgłoszeń.
- Logika aplikacji Google Chat jest hostowana w chmurze lub w systemie lokalnym, który może wysyłać wiadomości przy użyciu adresu URL webhooka do określonego pokoju czatu.
- Użytkownicy mogą odbierać wiadomości z aplikacji Google Chat w tym konkretnym pokoju, ale nie mogą korzystać z aplikacji Google Chat.
Wymagania wstępne
Python
- Konto Google Workspace z dostępem do Google Chat. Organizacja Google Workspace musi zezwalać użytkownikom na dodawanie i używanie przychodzących webhooków.
- Python 3.10.7 lub nowszy.
Biblioteka
httplib2
. W razie potrzeby uruchom to polecenie interfejsu wiersza poleceń, aby zainstalować bibliotekę za pomocąpip
:pip install httplib2
Dotychczasowy pokój czatu.
Node.js
- Konto Google Workspace z dostępem do Google Chat. Organizacja Google Workspace musi zezwalać użytkownikom na dodawanie i używanie przychodzących webhooków.
- Zainstalowano Node.js i npm.
- Dotychczasowy pokój czatu.
Java
- Konto Google Workspace z dostępem do Google Chat. Twoja organizacja Google Workspace zezwala użytkownikom na dodawanie i używanie przychodzących webhooków.
- Java 11 lub nowsza.
- Apache Maven
- Dotychczasowy pokój czatu.
Google Apps Script
- Konto Google Workspace z dostępem do Google Chat. Twoja organizacja Google Workspace zezwala użytkownikom na dodawanie i używanie przychodzących webhooków.
- Dotychczasowy pokój czatu.
Tworzenie webhooka
Aby utworzyć webhooka, zarejestruj go w pokoju czatu, w którym chcesz otrzymywać wiadomości, a potem napisz skrypt, który będzie je wysyłać.
Zarejestruj przychodzącego webhooka
- Otwórz Google Chat w przeglądarce. W aplikacji mobilnej Google Chat nie można konfigurować webhooków.
- Otwórz pokój, w którym chcesz dodać webhooka.
- Obok nazwy pokoju kliknij strzałkę rozwijania , a następnie kliknij Aplikacje i integracje.
Kliknij
Dodaj webhooki.W polu Nazwa wpisz
Quickstart Webhook
.W polu Awatar URL wpisz
https://developers.google.com/chat/images/chat-product-icon.png
.Kliknij Zapisz.
Aby skopiować adres URL webhooka, kliknij
Więcej, a następnie Kopiuj link.
Pisanie skryptu webhooka
Przykładowy skrypt webhooka wysyła wiadomość do pokoju, w którym został zarejestrowany webhook, wysyłając żądanie POST
na adres URL webhooka. Interfejs Chat API odpowiada z instancji Message
.
Wybierz język, aby dowiedzieć się, jak utworzyć skrypt webhooka:
Python
W katalogu roboczym utwórz plik o nazwie
quickstart.py
.W interfejsie
quickstart.py
wklej ten kod:Zastąp wartość zmiennej
url
adresem URL webhooka skopiowanym podczas jego rejestracji.
Node.js
W katalogu roboczym utwórz plik o nazwie
index.js
.W interfejsie
index.js
wklej ten kod:Zastąp wartość zmiennej
url
adresem URL webhooka skopiowanym podczas jego rejestracji.
Java
W katalogu roboczym utwórz plik o nazwie
pom.xml
.W aplikacji
pom.xml
skopiuj i wklej ten kod:W katalogu roboczym utwórz taką strukturę katalogów:
src/main/java
.W katalogu
src/main/java
utwórz plik o nazwieApp.java
.W interfejsie
App.java
wklej ten kod:Zastąp wartość zmiennej
URL
adresem URL webhooka skopiowanym podczas jego rejestracji.
Google Apps Script
W przeglądarce otwórz Apps Script.
Kliknij Nowy projekt.
Wklej ten kod:
Zastąp wartość zmiennej
url
adresem URL webhooka skopiowanym podczas jego rejestracji.
Uruchom skrypt webhooka
W interfejsie wiersza poleceń uruchom skrypt:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
Google Apps Script
- Kliknij Uruchom.
Gdy uruchomisz kod, webhook wyśle wiadomość do pokoju, w którym go zarejestrowano.
Rozpoczynanie wątku wiadomości lub odpowiadanie w nim
W treści żądania wiadomości podaj
spaces.messages.thread.threadKey
. W zależności od tego, czy rozpoczynasz wątek, czy na niego odpowiadasz, użyj dlathreadKey
tych wartości:Jeśli rozpoczynasz wątek, ustaw
threadKey
na dowolny ciąg znaków, ale zanotuj tę wartość, aby opublikować odpowiedź w wątku.Jeśli odpowiadasz na wątek, podaj właściwość
threadKey
, która została ustawiona podczas rozpoczęcia wątku. Aby na przykład opublikować odpowiedź w wątku, w którym w początkowej wiadomości był używany znakMY-THREAD
, ustaw atrybutMY-THREAD
.
Określ działanie wątku, jeśli nie zostanie znaleziony parametr
threadKey
:Odpowiedz w wątku lub rozpocznij nowy. Dodaj parametr
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
do adresu URL webhooka. Przekazanie tego parametru adresu URL spowoduje, że Google Chat wyszuka istniejący wątek za pomocą podanego atrybututhreadKey
. w przypadku znalezienia odpowiedzi, wiadomość jest publikowana jako odpowiedź w tym wątku. Jeśli nie uda się znaleźć żadnej wiadomości, wiadomość rozpocznie nowy wątek odpowiadający temuthreadKey
.Odpowiadaj w wątku lub nic nie rób. Dodaj parametr
messageReplyOption=REPLY_MESSAGE_OR_FAIL
do adresu URL webhooka. Przekazanie tego parametru adresu URL spowoduje, że Google Chat wyszuka istniejący wątek za pomocą podanego atrybututhreadKey
. w przypadku znalezienia odpowiedzi, wiadomość jest publikowana jako odpowiedź w tym wątku. Jeśli nie uda się znaleźć żadnej wiadomości, wiadomość nie zostanie wysłana.
Więcej informacji:
messageReplyOption
.
Ten przykładowy kod uruchamia wątek lub odpowiada w wątku wiadomości:
Python
Node.js
Google Apps Script
Powiązane artykuły
- Wybieranie architektury aplikacji do obsługi Google Chat
- Wysyłanie wiadomości dotyczących karty
- Formatowanie wiadomości