Z tej strony dowiesz się, jak utworzyć aplikację do obsługi czatu korzystającą z Pub/Sub. Taka architektura aplikacji Chat jest przydatna, jeśli Twoja organizacja ma zaporę sieciową, która może uniemożliwiać aplikacji Chat wysyłanie wiadomości do aplikacji Chat, lub jeśli aplikacja Chat korzysta z interfejsu Google Workspace Events API. Jednak ta architektura ma następujące ograniczenia, ponieważ te aplikacje do czatu mogą wysyłać i odbierać tylko wiadomości asynchroniczne:
- Nie można używać dialogów w wiadomościach. Zamiast tego użyj wiadomości na karcie.
- Nie można aktualizować poszczególnych kart za pomocą odpowiedzi synchronicznej. Zamiast tego zaktualizuj całą wiadomość, wywołując metodę
patch
.
Ten diagram przedstawia architekturę aplikacji do czatu utworzonej za pomocą Pub/Sub:
Na diagramie powyżej użytkownik korzystający z aplikacji Pub/Sub Chat ma następujący przepływ informacji:
Użytkownik wysyła wiadomość w Google Chat do aplikacji Google Chat, w wiadomości na czacie lub w pokoju czatu, albo zdarzenie ma miejsce w pokoju czatu, w przypadku którego aplikacja Google Chat ma aktywną subskrypcję.
Google Chat wysyła wiadomość do tematu Pub/Sub.
Serwer aplikacji, czyli system w chmurze lub lokalny, który zawiera logikę aplikacji Google Chat, subskrybuje temat Pub/Sub, aby otrzymywać wiadomości przez zaporę.
Opcjonalnie aplikacja Google Chat może wywoływać interfejs Chat API, aby asynchronicznie publikować wiadomości lub wykonywać inne operacje.
Wymagania wstępne
Java
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- projekt Google Cloud z włączonymi płatnościami; Aby sprawdzić, czy w istniejącym projekcie są włączone płatności, zapoznaj się z artykułem Sprawdzanie stanu płatności w projektach. Aby utworzyć projekt i skonfigurować rozliczenia, zapoznaj się z artykułem Tworzenie projektu Google Cloud.
- Java 11 lub nowsza
- Narzędzie do zarządzania pakietami Maven
Python
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- projekt Google Cloud z włączonymi płatnościami; Aby sprawdzić, czy w istniejącym projekcie są włączone płatności, zapoznaj się z artykułem Sprawdzanie stanu płatności w projektach. Aby utworzyć projekt i skonfigurować rozliczenia, zapoznaj się z artykułem Tworzenie projektu Google Cloud.
- Python 3.6 lub nowszy
- Narzędzie do zarządzania pakietami pip
Node.js
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- projekt Google Cloud z włączonymi płatnościami; Aby sprawdzić, czy w istniejącym projekcie są włączone płatności, zapoznaj się z artykułem Sprawdzanie stanu płatności w projektach. Aby utworzyć projekt i skonfigurować rozliczenia, zapoznaj się z artykułem Tworzenie projektu Google Cloud.
- Node.js w wersji 14 lub nowszej
- Narzędzie do zarządzania pakietami npm
-
Zainicjowany projekt Node.js. Aby zainicjować nowy projekt, utwórz nowy folder i przełącz się do niego, a potem uruchom to polecenie w interfejsie wiersza poleceń:
npm init
Konfigurowanie środowiska
Zanim zaczniesz korzystać z interfejsów API Google, musisz je włączyć w projekcie Google Cloud. W jednym projekcie Google Cloud możesz włączyć 1 lub więcej interfejsów API.W konsoli Google Cloud włącz interfejsy Google Chat API i Pub/Sub API.
Konfigurowanie Pub/Sub
Utwórz temat Pub/Sub, do którego interfejs API czatu będzie mógł wysyłać wiadomości. Zalecamy używanie jednego tematu na aplikację Google Chat.
Przyznaj usłudze Google Chat uprawnienia do publikowania w temacie, przypisując do niej rolę Publikujący w Pub/Sub:
chat-api-push@system.gserviceaccount.com
Utwórz konto usługi dla aplikacji Chat, aby autoryzować ją w Pub/Sub i Chat, i zapisz plik klucza prywatnego w katalogu roboczym.
Utwórz subskrypcję pull do tematu.
Przypisz rolę Subskrybujący Pub/Sub do subskrypcji na koncie usługi utworzonym wcześniej.
Pisanie skryptu
Java
W wierszu poleceń podaj dane logowania do konta usługi:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
W interfejsie wiersza poleceń podaj identyfikator projektu Google Cloud:
export PROJECT_ID=PROJECT_ID
W interfejsie wiersza poleceń podaj identyfikator subskrypcji Pub/Sub utworzonej wcześniej:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
W katalogu roboczym utwórz plik o nazwie
pom.xml
.W pliku
pom.xml
wklej ten kod:W katalogu roboczym utwórz strukturę katalogów
src/main/java
.W katalogu
src/main/java
utwórz plik o nazwieMain.java
.W pliku
Main.java
wklej ten kod:
Python
W wierszu poleceń podaj dane logowania do konta usługi:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
W interfejsie wiersza poleceń podaj identyfikator projektu Google Cloud:
export PROJECT_ID=PROJECT_ID
W interfejsie wiersza poleceń podaj identyfikator subskrypcji Pub/Sub utworzonej wcześniej:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
W katalogu roboczym utwórz plik o nazwie
requirements.txt
.W pliku
requirements.txt
wklej ten kod:W katalogu roboczym utwórz plik o nazwie
app.py
.W pliku
app.py
wklej ten kod:
Node.js
W wierszu poleceń podaj dane logowania do konta usługi:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
W interfejsie wiersza poleceń podaj identyfikator projektu Google Cloud:
export PROJECT_ID=PROJECT_ID
W interfejsie wiersza poleceń podaj identyfikator subskrypcji Pub/Sub utworzonej wcześniej:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
W katalogu roboczym utwórz plik o nazwie
package.json
.W pliku
package.json
wklej ten kod:W katalogu roboczym utwórz plik o nazwie
index.js
.W pliku
index.js
wklej ten kod:
Publikowanie aplikacji w Google Chat
W konsoli Google Cloud kliknij Menu > Interfejsy API i usługi > Włączone interfejsy API i usługi > Interfejs Google Chat API > Konfiguracja.
Skonfiguruj aplikację Google Chat na potrzeby Pub/Sub:
- W polu Nazwa aplikacji wpisz
Quickstart App
. - W polu URL awatara wpisz
https://developers.google.com/chat/images/quickstart-app-avatar.png
. - W polu Opis wpisz
Quickstart app
. - W sekcji Funkcje wybierz Odbieranie wiadomości 1:1 i Dołączanie do pokoi i rozmów grupowych.
- W sekcji Ustawienia połączenia wybierz Cloud Pub/Sub i wklej nazwę utworzonego wcześniej tematu Pub/Sub.
- W sekcji Widoczność wybierz Udostępnij tę aplikację Google Chat konkretnym osobom i grupom w swojej domenie i wpisz swój adres e-mail.
- W sekcji Logi wybierz Loguj błędy w usłudze Logging.
- W polu Nazwa aplikacji wpisz
Kliknij Zapisz.
Aplikacja jest gotowa do odbierania wiadomości i odpowiadania na nie w Google Chat.
Uruchamianie skryptu
W interfejsie wiersza poleceń przejdź do katalogu roboczego i uruchom skrypt:
Java
mvn compile exec:java -Dexec.mainClass=Main
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Node.js
npm install
npm start
Po uruchomieniu kodu aplikacja zaczyna nasłuchiwać wiadomości opublikowanych w temacie Pub/Sub.
Testowanie aplikacji Google Chat
Aby przetestować aplikację Google Chat, otwórz czat w aplikacji Google Chat i wyślij wiadomość:
Otwórz Google Chat za pomocą konta Google Workspace, które zostało podane podczas dodawania siebie jako zaufanego testera.
- Kliknij Nowy czat.
- W polu Dodaj co najmniej 1 osobę wpisz nazwę aplikacji Google Chat.
Wybierz aplikację Google Chat z wyników. Otworzy się czat.
- W nowym czacie z aplikacją wpisz
Hello
i naciśnijenter
.
Aby dodać zaufanych testerów i dowiedzieć się więcej o testowaniu funkcji interaktywnych, przeczytaj artykuł Testowanie funkcji interaktywnych w aplikacjach Google Chat.
Rozwiązywanie problemów
Gdy aplikacja Google Chat lub karta zwraca błąd, interfejs Google Chat wyświetla komunikat „Coś poszło nie tak”. lub „Nie udało się przetworzyć Twojej prośby”. Czasami interfejs czatu nie wyświetla żadnego komunikatu o błędzie, ale aplikacja lub karta czatu powoduje nieoczekiwany wynik, na przykład wiadomość na karcie może się nie wyświetlić.
Komunikat o błędzie może się nie wyświetlać w interfejsie czatu, ale gdy włączone jest rejestrowanie błędów w przypadku aplikacji czatu, dostępne są opisowe komunikaty o błędach i dane dziennika, które pomogą Ci je naprawić. Aby dowiedzieć się, jak wyświetlać, debugować i naprawiać błędy, przeczytaj artykuł Rozwiązywanie problemów z błędami Google Chat.
Czyszczenie danych
Aby uniknąć obciążenia konta Google Cloud opłatami za zasoby zużyte w tym samouczku, zalecamy usunięcie projektu Google Cloud.
- W konsoli Google Cloud otwórz stronę Zarządzanie zasobami. Kliknij Menu > Administracja > Zarządzaj zasobami.
- Na liście projektów wybierz projekt, który chcesz usunąć, a potem kliknij Usuń .
- W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.
Powiązane artykuły
Aby dodać więcej funkcji do aplikacji Google Chat, wykonaj te czynności: