Na tej stronie wyjaśniamy, jak utworzyć aplikację do obsługi czatu za pomocą Pub/Sub. Ten typ architektura aplikacji Google Chat jest przydatna jeśli Twoja organizacja korzysta z zapory sieciowej, która może uniemożliwiać Google Chat wysyłania wiadomości do aplikacji Google Chat, Aplikacja do obsługi czatu używa Interfejs Google Workspace Events API. Jednak mają następujące ograniczenia z uwagi na fakt, że te Aplikacje do obsługi czatu mogą tylko wysyłać i odbierać wiadomości komunikaty 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 poprzednim diagramie użytkownik wchodzi w interakcję z Pub/Sub W aplikacji Google Chat przepływ informacji jest następujący:
Użytkownik wysyła wiadomość w Google Chat do w aplikacji Google Chat na czacie lub na czacie. pokój czatu lub wydarzenie ma miejsce w pokoju czatu; w przypadku których aplikacja Google Chat ma aktywną subskrypcji.
Google Chat wysyła wiadomość do tematu Pub/Sub.
Serwer aplikacji w chmurze lub systemie lokalnym, zawiera logikę aplikacji Google Chat, subskrybuje Temat Pub/Sub, do którego chcesz odebrać wiadomość przez zaporę sieciową.
Opcjonalnie aplikacja Google Chat może wywołać metodę Interfejs Chat API do asynchronicznego publikowania wiadomości lub wykonywania innych operacji.
Wymagania wstępne
Java
- 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: Więcej informacji można znaleźć w sekcji Weryfikowanie lub stan płatności w projektach. Aby utworzyć projekt i skonfigurować płatności, zobacz Utwórz projekt 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: Więcej informacji można znaleźć w sekcji Weryfikowanie lub stan płatności w projektach. 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: Więcej informacji można znaleźć w sekcji Weryfikowanie lub stan płatności w projektach. 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.
Skonfiguruj Pub/Sub
Tworzenie tematu Pub/Sub do których interfejs Chat API może wysyłać wiadomości. Zalecamy użycie ciągu jeden temat na aplikację Google Chat.
Przyznawanie Google Chat uprawnień do publikowania do tematu, przypisując rolę Publikujący w Pub/Sub następującym konto usługi:
chat-api-push@system.gserviceaccount.com
Tworzenie konta usługi w celu autoryzacji aplikacji Google Chat za pomocą Pub/Sub oraz Rozpocznij czat i zapisz plik z kluczem prywatnym w katalogu roboczym.
Tworzenie subskrypcji pull w danej kwestii.
Przypisz do subskrypcji rolę subskrybenta Pub/Sub dla utworzonego wcześniej konta usługi.
Napisz scenariusz
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, która utworzone 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 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
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 & Usługi > Włączone interfejsy API i Usługi > Interfejs Google Chat API > Konfiguracja.
Skonfiguruj aplikację Google Chat pod kątem 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 Funkcjonalność 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 określonym osobom i grupom w domenie, a następnie wpisz swój adres e-mail.
- W sekcji Logi wybierz Rejestruj 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 pokój czatu z aplikację 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. A Direct
- 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 card zwraca błąd, Interfejs czatu wyświetla komunikat „Coś poszło nie tak”. lub „Nie można przetworzyć żądania”. Czasami interfejs Google Chat nie wyświetla się żaden komunikat o błędzie, ale aplikacja Google Chat lub zwraca nieoczekiwany wynik; na przykład wiadomość w formie karty .
Komunikat o błędzie może nie wyświetlać się w interfejsie Google Chat, opisowe komunikaty o błędach i dane dziennika, które pomogą Ci w naprawianiu błędów gdy logowanie błędów aplikacji Google Chat jest włączone. Aby uzyskać pomoc w wyświetlaniu, debugowania i naprawiania błędów, zapoznaj się z artykułem Rozwiązywanie problemów z błędami w Google Chat
Czyszczenie danych
Aby uniknąć obciążenia konta Google Cloud opłatami za używanych w tym samouczku, zalecamy usunięcie Projekt w chmurze.
- W konsoli Google Cloud otwórz stronę Zarządzanie zasobami. Kliknij Menu > Uprawnienia Administracja > Zarządzaj zasobami.
- Na liście projektów wybierz projekt do usunięcia, a następnie kliknij Usuń .
- W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby go usunąć. nad projektem.
Powiązane artykuły
Aby dodać więcej funkcji do aplikacji Google Chat, zobacz :