Z tego artykułu dowiesz się, jak utworzyć aplikację do obsługi czatu za pomocą Pub/Sub. Ten typ architektury aplikacji do obsługi czatu jest przydatny jeśli Twoja organizacja ma zaporę ogniową, która może uniemożliwiać Google Chat wysyłanie wiadomości do aplikacji do obsługi czatu, lub jeśli aplikacja do obsługi czatu korzysta z interfejsu Google Workspace Events API. Ta architektura ma jednak te ograniczenia, ponieważ te aplikacje do obsługi czatu mogą tylko wysyłać i odbierać wiadomości asynchroniczne:
- Nie można używać okien dialogowych w wiadomościach. Zamiast tego użyj wiadomości z kartą.
- Nie można aktualizować poszczególnych kart za pomocą odpowiedzi synchronicznej. Zamiast tego zaktualizuj
całą wiadomość, wywołując
patchmetodę.
Ten schemat przedstawia architekturę aplikacji do obsługi czatu utworzonej za pomocą Pub/Sub:
Na powyższym schemacie użytkownik wchodzący w interakcję z aplikacją do obsługi czatu Pub/Sub ma następujący przepływ informacji:
Użytkownik wysyła wiadomość w Google Chat do aplikacji do obsługi czatu (na czacie lub w pokoju) albo w pokoju w Google Chat występuje zdarzenie, w przypadku którego aplikacja do obsługi czatu 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 do obsługi czatu, subskrybuje temat Pub/Sub, aby otrzymywać wiadomości przez zaporę ogniową.
Opcjonalnie aplikacja do obsługi czatu może wywołać interfejs Chat API, aby asynchronicznie wysyłać wiadomości lub wykonywać inne operacje.
Wymagania wstępne
Podczas tworzenia aplikacji do obsługi czatu musisz wyczyścić pole Utwórz tę aplikację do obsługi czatu jako dodatek do Google Workspace na stronie konfiguracji interfejsu Chat API w konsoli Google Cloud. Zobacz Publikowanie aplikacji w Google Chat.
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 włączone są płatności, przeczytaj artykuł Sprawdzanie stanu rozliczeń projektów. Aby utworzyć projekt i skonfigurować płatności, przeczytaj artykuł 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 przejdź do niego, a następnie w interfejsie wiersza poleceń uruchom to polecenie:
npm init
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 włączone są płatności, przeczytaj artykuł Sprawdzanie stanu rozliczeń projektów. Aby utworzyć projekt i skonfigurować płatności, przeczytaj artykuł Tworzenie projektu Google Cloud.
- Python w wersji 3.6 lub nowszej
- Narzędzie do zarządzania pakietami pip
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 włączone są płatności, przeczytaj artykuł Sprawdzanie stanu rozliczeń projektów. Aby utworzyć projekt i skonfigurować płatności, przeczytaj artykuł Tworzenie projektu Google Cloud.
- Java w wersji 11 lub nowszej
- Narzędzie do zarządzania pakietami Maven
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ć co najmniej 1 interfejs API.W konsoli Google Cloud włącz interfejs Google Chat API i Pub/Sub API.
Konfigurowanie Pub/Sub
Utwórz temat Pub/Sub do którego interfejs Chat API może wysyłać wiadomości. Zalecamy używanie jednego tematu na aplikację do obsługi czatu.
Przyznaj Google Chat uprawnienia do publikowania w temacie, przypisując rolę Publikujący Pub/Sub do tego konta usługi:
chat-api-push@system.gserviceaccount.comUtwórz konto usługi dla aplikacji do obsługi czatu, aby autoryzować ją w Pub/Sub i Google Chat, a następnie zapisz plik klucza prywatnego w katalogu roboczym.
Utwórz subskrypcję pull dla tematu.
Przypisz rolę Subskrybent Pub/Sub do subskrypcji dla utworzonego wcześniej konta usługi.
Pisanie skryptu
Node.js
W interfejsie wiersza poleceń podaj dane logowania konta usługi:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATHW interfejsie wiersza poleceń podaj identyfikator projektu Google Cloud:
export PROJECT_ID=PROJECT_IDW interfejsie wiersza poleceń podaj identyfikator subskrypcji Pub/Sub utworzonej wcześniej:
export SUBSCRIPTION_ID=SUBSCRIPTION_IDW katalogu roboczym utwórz plik o nazwie
package.json.W pliku
package.jsonwklej ten kod:W katalogu roboczym utwórz plik o nazwie
index.js.W pliku
index.jswklej ten kod:
Python
W interfejsie wiersza poleceń podaj dane logowania konta usługi:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATHW interfejsie wiersza poleceń podaj identyfikator projektu Google Cloud:
export PROJECT_ID=PROJECT_IDW interfejsie wiersza poleceń podaj identyfikator subskrypcji Pub/Sub utworzonej wcześniej:
export SUBSCRIPTION_ID=SUBSCRIPTION_IDW katalogu roboczym utwórz plik o nazwie
requirements.txt.W pliku
requirements.txtwklej ten kod:W katalogu roboczym utwórz plik o nazwie
app.py.W pliku
app.pywklej ten kod:
Java
W interfejsie wiersza poleceń podaj dane logowania konta usługi:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATHW interfejsie wiersza poleceń podaj identyfikator projektu Google Cloud:
export PROJECT_ID=PROJECT_IDW interfejsie wiersza poleceń podaj identyfikator subskrypcji Pub/Sub utworzonej wcześniej:
export SUBSCRIPTION_ID=SUBSCRIPTION_IDW katalogu roboczym utwórz plik o nazwie
pom.xml.W pliku
pom.xmlwklej ten kod:W katalogu roboczym utwórz strukturę katalogów
src/main/java.W katalogu
src/main/javautwórz plik o nazwieMain.java.W pliku
Main.javawklej ten kod:
Publikowanie aplikacji w Google Chat
W konsoli Google Cloud otwórz Menu > Interfejsy API i usługi > Włączone interfejsy API i usługi > Google Chat API > Konfiguracja.
Skonfiguruj aplikację do obsługi czatu dla Pub/Sub:
- Wyczyść pole Utwórz tę aplikację do obsługi czatu jako dodatek do Google Workspace. Otworzy się okno dialogowe z prośbą o potwierdzenie. W oknie dialogowym kliknij Wyłącz.
- 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 zaznacz 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.
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:
Node.js
npm install
npm start
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Java
mvn compile exec:java -Dexec.mainClass=Main
Po uruchomieniu kodu aplikacja zacznie nasłuchiwać wiadomości publikowanych w temacie Pub/Sub.
Testowanie aplikacji do obsługi czatu
Aby przetestować aplikację do obsługi czatu, otwórz czat z aplikacją i wyślij wiadomość:
Otwórz Google Chat na koncie 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 do obsługi czatu.
W wynikach wyszukiwania wybierz aplikację do obsługi czatu. Otworzy się czat.
- Na nowym czacie z aplikacją wpisz
Helloi 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 lub karta Google Chat zwraca błąd, w interfejsie Google Chat pojawia się komunikat „Coś poszło nie tak” lub „Nie udało się przetworzyć żądania”. Czasami interfejs Google Chat nie wyświetla żadnego komunikatu o błędzie, ale aplikacja lub karta Google Chat daje nieoczekiwany wynik, np. nie wyświetla się wiadomość z kartą.
Chociaż komunikat o błędzie może się nie wyświetlać w interfejsie Google Chat, dostępne są opisowe komunikaty o błędach i dane logu, które pomogą Ci naprawić błędy gdy włączone jest logowanie błędów w aplikacjach Google Chat. Aby uzyskać pomoc w wyświetlaniu, debugowaniu i naprawianiu błędów, przeczytaj artykuł Rozwiązywanie problemów i naprawianie błędów w Google Chat.
Czyszczenie danych
Aby uniknąć obciążania konta Google Cloud opłatami za zasoby zużyte w tym samouczku, zalecamy usunięcie projektu w chmurze.
- W konsoli Google Cloud otwórz stronę Zarządzanie zasobami. Kliknij Menu > Administracja > Zarządzanie zasobami.
- Na liście projektów wybierz projekt do usunięcia, 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 do obsługi czatu, przeczytaj te artykuły: