Przychodzące webhooki pozwalają wysyłać do Google Chat wiadomości asynchroniczne z aplikacji innych niż Google Chat. Możesz na przykład skonfigurować aplikację do monitorowania w Google Chat powiadamiając pracowników dyżurnych o przerwaniu działania serwera.
Informacje o asynchronicznego wysyłania, aktualizowaniu i usuwaniu wiadomości w pokoju czatu za pomocą aplikacji do obsługi czatu znajdziesz w artykule Tworzenie, odczytywanie, aktualizowanie i usuwanie wiadomości.
Wymagania wstępne
Aby uruchomić przykład w tym przewodniku, musisz mieć:
Python
- Python w wersji 3.10.7 lub nowszej.
- Dostęp do internetu i przeglądarki.
- Musisz mieć konto Google Workspace z dostępem do Google Chat.
- Pokój Google Chat.
Biblioteka
httplib2
. W razie potrzeby uruchom to polecenie w interfejsie wiersza poleceń, aby zainstalować bibliotekę za pomocą pip:pip install httplib2
Node.js
- Zainstalowane są Node.js i npm.
- Dostęp do internetu i przeglądarki.
- Musisz mieć konto Google Workspace z dostępem do Google Chat.
- Pokój Google Chat.
Google Apps Script
- Dostęp do internetu i przeglądarki.
- Musisz mieć konto Google Workspace z dostępem do Google Chat.
- Pokój Google Chat.
Java
- Java 11 lub nowsza.
- Apache Maven,
- Dostęp do internetu i przeglądarki.
- Musisz mieć konto Google Workspace z dostępem do Google Chat.
- Pokój Google Chat.
Tworzenie webhooka
Aby utworzyć webhooka, zarejestruj go w pokoju Google Chat, w którym chcesz otrzymywać wiadomości, a następnie utwórz skrypt, który je wysyła.
Krok 1. Zarejestruj webhooka przychodzącego webhooka
- W przeglądarce otwórz Google Chat.
- Otwórz pokój, do którego chcesz dodać webhooka.
- U góry obok nazwy pokoju kliknij strzałkę w dół > Aplikacje i integracje.
- Kliknij Zarządzaj webhookami.
- Jeśli w tym pokoju są już inne webhooki, kliknij Dodaj kolejny. W przeciwnym razie pomiń ten krok.
- W polu Nazwa wpisz „Quickstart Webhook”.
- W polu Adres URL awatara wpisz
https://developers.google.com/chat/images/chat-product-icon.png
. - Kliknij ZAPISZ.
- Aby skopiować pełny adres URL webhooka, kliknij Kopiuj.
- Kliknij poza polem, aby zamknąć okno przychodzące webhooki.
Krok 2. Napisz skrypt webhooka
Przykładowy skrypt webhooka publikuje wiadomość w pokoju, w którym jest zarejestrowany, wykorzystując POST w żądaniu utworzenia wiadomości do jego adresu URL. Google Chat API odpowiada za pomocą wystąpienia Message
.
Aby dowiedzieć się, jak utworzyć skrypt webhooka, wybierz język poniżej:
Python
W katalogu roboczym utwórz plik o nazwie
quickstart.py
.Skopiuj ten kod i wklej go w
quickstart.py
:Zamień wartość zmiennej
url
na adres URL webhooka skopiowany w kroku 1: zarejestruj przychodzący webhook.
Node.js
W katalogu roboczym utwórz plik o nazwie
index.js
.Skopiuj ten kod i wklej go w
index.js
:Zamień wartość zmiennej
webhookURL
na adres URL webhooka skopiowany w kroku 1: zarejestruj przychodzący webhook.
Google Apps Script
Otwórz stronę Apps Script.
Kliknij New Project (Nowy projekt).
Skopiuj i wklej ten kod:
Zamień wartość zmiennej
url
na adres URL webhooka skopiowany w kroku 1: zarejestruj przychodzący webhook.
Java
W katalogu roboczym utwórz plik o nazwie
pom.xml
.Skopiuj i wklej w
pom.xml
ten fragment:W katalogu roboczym utwórz tę strukturę katalogów:
src/main/java
.W katalogu
src/main/java
utwórz plik o nazwieApp.java
.Skopiuj ten kod i wklej go w
App.java
:Zamień wartość zmiennej
URL
na adres URL webhooka skopiowany w kroku 1: zarejestruj przychodzący webhook.
Krok 3. Uruchom skrypt webhooka
Uruchom przykładowy kod, uruchamiając w interfejsie wiersza poleceń to polecenie z katalogu roboczego:
Python
python3 quickstart.py
Node.js
node index.js
Google Apps Script
- Kliknij Wykonaj.
Java
mvn compile exec:java -Dexec.mainClass=App
Gdy uruchomisz przykładowy kod, webhook wyśle wiadomość do pokoju, w którym jest zarejestrowany.
Rozpoczynanie wątku wiadomości i odpowiadanie na niego
Możesz rozpocząć wątek wiadomości lub odpowiedzieć na niego, dodając parametr threadKey
do adresu URL webhooka. Każda właściwość threadKey
jest unikalna dla aplikacji, która ją ustawia. Jeśli 2 różne aplikacje do obsługi czatu lub webhooki mają tę samą wartość threadKey
, rozpoczną się 2 różne wątki.
Rozpoczynanie wątku wiadomości
Aby opublikować pierwszą wiadomość w wątku z webhookiem, dodaj do jego adresu URL parametry threadKey
i messageReplyOption
. W polu threadKey
możesz wpisać dowolny ciąg znaków, ale pamiętaj, że będzie on wymagany do opublikowania odpowiedzi w wątku.
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=ARBITRARY_STRING&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Odpowiadanie w wątku wiadomości
Aby wysłać wiadomość w istniejącym wątku wiadomości, dodaj parametry threadKey
i messageReplyOption
do adresu URL webhooka ustawionego na początek tego wątku. Na przykład wysłanie wiadomości na ten adres URL powoduje wysłanie odpowiedzi w wątku, gdzie threadKey
to MY-THREAD
, a messageReplyOption
to REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
:
https://chat.googleapis.com/v1/spaces/SPACE_ID/messages?threadKey=MY-THREAD&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
Ograniczenia i kwestie
Podczas konfigurowania webhooków zwróć uwagę na te ograniczenia:
Każdy webhook działa tylko w pokoju czatu, w którym jest zarejestrowany.
Nie możesz publikować webhooków w Google Workspace Marketplace.
Webhooki nie nadają się do konwersacji. Nie może odpowiadać na wiadomości użytkowników ani wydarzeń z Google Chat ani na nie otrzymywać powiadomień.
Jeśli w Twojej domenie tylko jednostki organizacyjne mają włączone aplikacje czatu, przychodzące webhooki zwracają następujący błąd:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
Webhooki przychodzące działają na czacie, ale tylko wtedy, gdy wszyscy użytkownicy mają włączone aplikacje Google Chat.
Zarządzaj webhookami są dostępne tylko w przeglądarce, dlatego webhooka można skonfigurować tylko w aplikacji internetowej Google Chat.