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żyć okna w wiadomościach. Zamiast tego użyj wiadomości z karty.
- Nie można zaktualizować poszczególnych kart za pomocą odpowiedzi synchronicznej. Zamiast tego zaktualizuj
całą wiadomość, wywołując metodę
patch
.
Poniższy diagram przedstawia architekturę Aplikacja do obsługi czatu utworzona przy użyciu 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 rozliczeń projektów. 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
- Firmy lub przedsiębiorstwa Konto Google Workspace 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 rozliczeń projektów. Aby utworzyć projekt i skonfigurować płatności, zobacz Utwórz projekt Google Cloud.
- Python w wersji 3.6 lub nowszej
- narzędzie do zarządzania pakietami pip,
Node.js
- Firmy lub przedsiębiorstwa Konto Google Workspace 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 rozliczeń projektów. Aby utworzyć projekt i skonfigurować płatności, zobacz Utwórz projekt Google Cloud.
- Node.js w wersji 14 lub nowszej
- npm narzędzie do zarządzania pakietami
-
Zainicjowany projekt Node.js. Aby zainicjować nowy projekt, utwórz i
przełącz się na nowy folder, a następnie 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
Tworzenie tematu Pub/Sub do których interfejs Chat API może 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 interfejsie wiersza 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 aplikacji
Main.java
wklej ten kod:
Python
W interfejsie wiersza 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, która utworzone 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 aplikacji
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 aplikacji
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 w Google Chat i odpowiadania na nie.
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
Gdy uruchomisz kod, aplikacja zacznie nasłuchiwać opublikowanych wiadomości do tematu 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órego używasz dodane podczas dodawania siebie jako zaufanego testera.
- Kliknij Nowy czat.
- W polu Dodaj co najmniej jedną osobę wpisz nazwę swojego aplikacja Google Chat.
Z wyników wybierz aplikację Google Chat. 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, zobacz Przetestuj funkcje interaktywne w aplikacji Aplikacje 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 można przetworzyć żądania”. 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 > Uprawnienia 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, zobacz :