Praca z wydarzeniami z Google Chat

Ta strona wyjaśnia, jak aplikacje Google Chat mogą odbierać i odpowiadać na zdarzenia w Google Chat.

Zdarzenie Google Chat reprezentuje aktywność lub zmianę w Google Chat, na przykład nową wiadomość w pokoju. Aplikacja Google Chat może używać zdarzeń, aby dowiedzieć się, co się stało, i podjąć działania lub zareagować w sposób przydatny dla użytkowników.

Oto kilka przykładów wykorzystania zdarzeń:

  • monitorować i odpowiadać na nowe wiadomości w pokoju, na przykład sprawdzać słowa kluczowe lub frazy;
  • Wysyłanie wiadomości powitalnej do użytkowników, którzy dołączają do pokoju, aby wyjaśnić zasady korzystania z pokoju lub podać wskazówki dotyczące skutecznego korzystania z aplikacji Google Chat.
  • śledzić i analizować aktywność w Google Chat; Możesz na przykład wysyłać co miesiąc raport o nowych członkach lub wiadomościach, które otrzymują najwięcej reakcji lub odpowiedzi.
  • komunikować się na różnych platformach komunikacyjnych, Użytkownicy mogą na przykład wysyłać i odbierać wiadomości od użytkowników na innej platformie do obsługi wiadomości bez opuszczania Google Chat.

Jak działają zdarzenia

Za każdym razem, gdy coś się dzieje w Google Chat, zasób interfejsu Google Chat API jest tworzony, aktualizowany lub usuwany. Google Chat używa zdarzeń do przekazywania aplikacji Google Chat informacji o typie zaistniałej aktywności i zasobach interfejsu Chat API, których to dotyczy.

Przykład sposobu, w jaki wiadomość opublikowana w pokoju Google Chat powoduje zdarzenie
Rysunek 1. Użytkownik publikuje wiadomość w pokoju czatu, tworząc zasób Message. Czat tworzy następnie zdarzenie zawierające dane o nowej wiadomości.

Google Chat kategoryzuje zdarzenia według typu. Typy zdarzeń pomagają filtrować i otrzymywać tylko te informacje, których potrzebujesz, oraz umożliwiają obsługę podobnych działań w taki sam sposób.

W tabeli poniżej pokazano, jak aktywność w Google Chat wpływa na powiązany zasób Chat API oraz typ zdarzenia, które otrzymuje Twoja aplikacja Google Chat:

Aktywność Zasoby interfejsu Chat API Typ zdarzenia
Użytkownik publikuje wiadomość w pokoju czatu Utworzono zasób Message. Nowa wiadomość
Użytkownik staje się menedżerem pokoju. Zasób Membership został zaktualizowany. Zaktualizowano wspieranie
Użytkownik reaguje na wiadomość. Utworzono zasób Reaction. Nowa reakcja
użytkownik opuszcza pokój. Zasób Membership został usunięty. Wspieranie zostało anulowane

Odbieranie zdarzeń z Google Chat

Aby otrzymywać zdarzenia, aplikacja Google Chat może wykonać jedną z tych czynności:

  • Subskrybuj zdarzenia za pomocą interfejsu Events API w Google Workspace, aby otrzymywać je w miarę ich występowania.
  • Wysyłanie zapytania o ostatnie zdarzenia przez wywołanie interfejsu Chat API.

W tabeli poniżej wyjaśniono różnice między tymi metodami oraz powody ich stosowania:

Subskrybowanie zdarzeń Zapytanie o zdarzenia
Przypadki użycia
  • przetwarzać lub odpowiadać na zdarzenia w czasie rzeczywistym;
  • Monitorowanie aktywności użytkowników związanej z członkostwem i znajdowanie nowych pokoi do monitorowania.
  • przetwarzać lub odpowiadać na zdarzenia okresowo lub za pomocą aktywatora;
  • Pobieranie nieodnotowanych zdarzeń z subskrypcji (z powodu przerwy w działaniu lub nieaktywnej subskrypcji).
Interfejs API Interfejs Google Workspace Events API Chat API
Źródło zdarzeń Pokoje i użytkownicy Tylko pokoje
Obsługiwane zdarzenia
  • Wiadomości
  • Wspieranie kanału
  • Reakcje
  • Spacja

Listę obsługiwanych typów zdarzeń znajdziesz w dokumentacji interfejsu Google Workspace Events API Typy zdarzeń do tworzenia subskrypcji.
  • Wiadomości
  • Wspieranie kanału
  • Reakcje
  • Spacja

Listę obsługiwanych typów zdarzeń znajdziesz w dokumentacji referencyjnej interfejsu Chat API w sekcji Zasoby spaceEvents.
Format zdarzenia wiadomość Google Cloud Pub/Sub sformatowana zgodnie ze specyfikacją CloudEvent; Więcej informacji znajdziesz w artykule Struktura zdarzeń Google Workspace. Zasób Chat API ( spaces.spaceEvent).
Dane zdarzenia Ciąg tekstowy zakodowany w formacie Base64 z danymi zasobu lub bez nich. Na przykład ładunki użyteczności, patrz Dane zdarzenia. ładunek JSON zawierający dane zasobu. Niektóre typy zdarzeń obejmują tylko określone pola zasobu. Na przykład ładunki znajdziesz w dokumentacji referencyjnej.

Przykład: zapytanie lub subskrypcja zdarzeń dotyczących członkostwa w pokoju

W tym przykładzie aplikacja Google Chat chce otrzymywać informacje o zmianach dotyczących użytkowników pokoju czatu. W pokoju występują następujące aktywności związane z członkostwem:

  • Użytkownik dołącza do pokoju, co powoduje utworzenie zasobu Membership i wywołanie zdarzenia dotyczącego nowego uczestnika.
  • Użytkownik staje się menedżerem pokoju, co powoduje zaktualizowanie zasobu Membership dla tego użytkownika i wywołanie zdarzenia zaktualizowanego uczestnika.
  • Użytkownik opuszcza pokój, co powoduje usunięcie zasobu Membership dla tego użytkownika i wywołanie zdarzenia usunięcia członka.

Subskrypcja zdarzeń dotyczących wspierania kanału

Aby otrzymywać zdarzenia w czasie rzeczywistym, aplikacja Google Chat wywołuje metodę interfejsu Events API w Google Workspace subscriptions.create(), aby subskrybować pokój w przypadku wszystkich typów zdarzeń związanych z członkostwem. Po utworzeniu subskrypcji aplikacja Google Chat może zacząć odbierać zdarzenia dotyczące członkostwa.

Aplikacja do obsługi czatu, która subskrybuje zdarzenia za pomocą interfejsu Google Workspace Events API.
Rysunek 2. Aplikacja Google Chat otrzymuje zdarzenia dotyczące członkostwa za pomocą subskrypcji za pomocą interfejsu Google Workspace Events API.

Na rysunku 2 aplikacja do obsługi czatu ma aktywną subskrypcję pokoju, więc odbiera zdarzenie za każdym razem, gdy zmienia się członkostwo w pokoju. Aplikacja Google Chat może następnie przetwarzać lub odpowiadać w czasie rzeczywistym na różne działania, na przykład publikować prywatne wiadomości powitalne dla użytkownika, który dołączył do pokoju.

Więcej informacji o tworzeniu subskrypcji za pomocą interfejsu Events API w Google Workspace znajdziesz w dokumentacji interfejsu Events API w Google Workspace.

Zapytanie o ostatnie zdarzenia dotyczące członkostwa

Zamiast otrzymywać zdarzenia dotyczące członkostwa w momencie ich wystąpienia, aplikacja Google Chat może wywołać interfejs API Google Chat, aby wyświetlić listę ostatnich zdarzeń w pokoju, które są powiązane z aktywnością członków.

Aplikacja do obsługi czatu, która wysyła zapytania o zdarzenia za pomocą interfejsu Chat API.
Rysunek 3. Aplikacja do obsługi czatu odbiera ostatnie zdarzenia dotyczące członkostwa, wysyłając zapytanie o zdarzenia w pokoju za pomocą interfejsu Google Chat API.

Na rysunku 3 aplikacja Google Chat wywołuje metodę interfejsu API Google Chatspaces.spaceEvents.list() po wystąpieniu wszystkich działań związanych z członkostwem i filtruje zapytanie pod kątem nowych, zaktualizowanych i usuniętych zdarzeń związanych z członkostwem. Interfejs Chat API zwraca listę zasobów spaceEvent, które reprezentują każdą zmianę członkostwa. Aplikacja Google Chat może następnie przetwarzać dane lub odpowiadać na podstawie ostatniej aktywności, np. publikować cotygodniową wiadomość z podsumowaniem aktywności członków pokoju w ciągu ostatnich 7 dni.

Aby wysłać zapytanie o zdarzenia za pomocą interfejsu Google Chat API, zapoznaj się z artykułem Wyświetlanie listy zdarzeń z pokoju Google Chat.

Ograniczenia

  • W przypadku subskrypcji użytkowników zdarzenia dotyczące nowych członków w wiadomościach bezpośrednich lub czatach grupowych bez nazwy (google.workspace.chat.membership.v1.created) aktywują się dopiero po opublikowaniu pierwszej wiadomości.
  • Aby otrzymywać zdarzenia dotyczące członkostwa, użytkownik musi być bezpośrednim członkiem pokoju. Jeśli użytkownik został dodany, zaktualizowany lub usunięty pośrednio w pokoju za pomocą grupy dyskusyjnej Google, subskrypcja nie otrzyma tych zdarzeń dotyczących członkostwa. Aby dowiedzieć się, jak działają członkostwa w grupach dyskusyjnych Google, przeczytaj artykuł Dodawanie grupy dyskusyjnej Google do pokoju.