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, aby powiadamiać personel dyżurny w Google Chat o awarii serwera.
Aby dowiedzieć się, jak asynchronicznie wysyłać, aktualizować i usuwać wiadomość w pokoju czatu za pomocą aplikacji Google Chat, przeczytaj artykuł Tworzenie, odczytywanie, aktualizowanie i usuwanie wiadomości.
Wymagania wstępne
Aby uruchomić przykład z tego przewodnika, potrzebujesz:
Python
- Python w wersji 3.10.7 lub nowszej.
- Dostęp do internetu i przeglądarki.
- konto Google Workspace z dostępem do Google Chat.
- Istniejący pokój Google Chat.
Biblioteka
httplib2
. W razie potrzeby uruchom to polecenie interfejsu wiersza poleceń, aby zainstalować bibliotekę za pomocą pip:pip install httplib2
Node.js
- Zainstalowano Node.js i npm.
- Dostęp do internetu i przeglądarki.
- konto Google Workspace z dostępem do Google Chat.
- Istniejący pokój Google Chat.
Google Apps Script
- Dostęp do internetu i przeglądarki.
- konto Google Workspace z dostępem do Google Chat.
- Istniejący pokój Google Chat.
Java
- Java 11 lub nowsza.
- Apache Maven
- Dostęp do internetu i przeglądarki.
- konto Google Workspace z dostępem do Google Chat.
- Istniejący pokój Google Chat.
Tworzenie webhooka
Aby utworzyć webhooka, zarejestruj go w pokoju Google Chat, w którym chcesz odbierać wiadomości, a następnie napisz skrypt wysyłający wiadomości.
Krok 1. Zarejestruj przychodzącego webhooka
- Otwórz Google Chat.
- Otwórz pokój, do którego chcesz dodać webhooka.
- Obok nazwy pokoju kliknij strzałkę rozwijania „Więcej” , 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.
Krok 2. Napisanie skryptu webhooka
Przykładowy skrypt webhooka publikuje wiadomość w miejscu, w którym jest zarejestrowany webhook, wysyłając żądanie create message (utwórz wiadomość) na adres URL webhooka. Interfejs Google Chat API odpowiada z wystąpieniem Message
.
Wybierz język poniżej, aby uzyskać szczegółowe instrukcje tworzenia skryptu webhooka:
Python
W katalogu roboczym utwórz plik o nazwie
quickstart.py
.W aplikacji
quickstart.py
skopiuj i wklej ten kod:Zastąp wartość zmiennej
url
adresem URL webhooka skopiowanym w kroku 1. Zarejestruj przychodzącego webhooka.
Node.js
W katalogu roboczym utwórz plik o nazwie
index.js
.W aplikacji
index.js
skopiuj i wklej ten kod:Zastąp wartość zmiennej
webhookURL
adresem URL webhooka skopiowanym w kroku 1. Zarejestruj przychodzącego webhooka.
Google Apps Script
Otwórz stronę Apps Script.
Kliknij Nowy projekt.
Skopiuj i wklej ten kod:
Zastąp wartość zmiennej
url
adresem URL webhooka skopiowanym w kroku 1. Zarejestruj przychodzącego webhooka.
Java
W katalogu roboczym utwórz plik o nazwie
pom.xml
.W aplikacji
pom.xml
skopiuj i wklej te informacje:W katalogu roboczym utwórz taką strukturę katalogów:
src/main/java
.W katalogu
src/main/java
utwórz plik o nazwieApp.java
.W aplikacji
App.java
skopiuj i wklej ten kod:Zastąp wartość zmiennej
URL
adresem URL webhooka skopiowanym w kroku 1. Zarejestruj przychodzącego webhooka.
Krok 3. Uruchom skrypt webhooka
Uruchom przykład, uruchamiając to polecenie z katalogu roboczego w interfejsie wiersza poleceń:
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 go zarejestrowano.
Rozpoczynanie wątku wiadomości lub odpowiadanie na nie
Możesz rozpocząć wątek wiadomości lub odpowiedzieć na niego, dodając parametr threadKey
do adresu URL webhooka. Każdy element threadKey
jest unikalny dla aplikacji, w której go ustawiono. Jeśli 2 różne aplikacje do obsługi czatu lub webhooki ustawią ten sam element threadKey
, zaczną się 2 różne wątki.
Rozpocznij wątek wiadomości
Aby opublikować pierwszą wiadomość w wątku z webhookiem, dołącz do adresu URL webhooka parametry threadKey
i messageReplyOption
. Ustaw threadKey
jako dowolny ciąg (przypominaj, co to jest). Aby opublikować odpowiedź w wątku, musisz podać go ponownie.
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, dołącz parametry threadKey
i messageReplyOption
do adresu URL webhooka ustawionego do rozpoczęcia wątku. Na przykład wysłanie wiadomości pod następujący adres URL spowoduje opublikowanie odpowiedzi w wątku, w której 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 weź pod uwagę te ograniczenia i ważne kwestie:
Każdy webhook działa tylko w pokoju czatu, w którym został zarejestrowany.
Nie można publikować webhooków w Google Workspace Marketplace.
Webhooki nie służą do konwersacji. Nie mogą odpowiadać na wiadomości użytkowników ani zdarzenia interakcji z aplikacją Google Chat ani ich odbierać.
Jeśli tylko wybrane jednostki organizacyjne w domenie mają włączone aplikacje do obsługi czatu, przychodzące webhooki zwrócą ten błąd:
{ "error": { "code": 403, "message": "The caller does not have permission", "status": "PERMISSION_DENIED" } }
Przychodzące webhooki działają na czacie, ale tylko wtedy, gdy wszyscy użytkownicy mają włączone aplikacje do obsługi czatu.
Funkcja
Zarządzaj webhookami jest dostępna tylko w przeglądarce, dlatego webhooki trzeba skonfigurować w aplikacji internetowej Google Chat. Webhooki nie można konfigurować w aplikacji mobilnej Google Chat.