Praca z wydarzeniami z Google Chat

Na tej stronie wyjaśniamy, jak aplikacje Google Chat mogą odbierać wydarzenia w Google Chat i odpowiadać na nie.

Zdarzenie w Google Chat reprezentuje aktywność lub zmianę w Google Chat, np. 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 znaczący sposób dla Twoich użytkowników.

Oto kilka przykładów użycia zdarzeń:

  • Monitoruj nowe wiadomości w pokoju i odpowiadaj na nie, na przykład sprawdzaj kluczowe słowa lub wyrażenia.
  • Wysyłaj użytkownikom dołączającym do pokoju wiadomość powitalną, aby wyjaśnić wytyczne dotyczące pokoju lub przekazać wskazówki na temat efektywnego korzystania z aplikacji Google Chat.
  • Śledź i analizuj aktywność w Google Chat. Możesz na przykład wysyłać miesięczny raport o nowych wspierających lub wiadomościach, które spotkały się z największą liczbą reakcji lub odpowiedzi.
  • Komunikacja między platformami komunikacyjnymi 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ą wydarzenia

Gdy coś się dzieje w Google Chat, zasób interfejsu Google Chat API zostanie utworzony, zaktualizowany lub usunięty. Google Chat używa zdarzeń, aby przekazywać do aplikacji Google Chat informacje o typie aktywności i zasobie interfejsu Chat API, którego dotyczy problem.

Przykład sposobu, w jaki wiadomość opublikowana w pokoju Google Chat wyzwala zdarzenie.
Rysunek 1. Użytkownik publikuje wiadomość w pokoju czatu, co powoduje utworzenie zasobu Message. Następnie Google Chat utworzy zdarzenie zawierające dane o nowej wiadomości.

Google Chat dzieli wydarzenia na kategorie według typu. Typy zdarzeń pomagają filtrować i otrzymywać tylko te informacje, których potrzebujesz, i umożliwiać obsługę podobnych działań w ten sam sposób.

W tabeli poniżej pokazujemy, jak aktywność w Google Chat wpływa na powiązany zasób interfejsu Chat API oraz typ zdarzenia odbieranego przez aplikację Google Chat:

Aktywność Zasób interfejsu Chat API Typ zdarzenia
Użytkownik publikuje wiadomość w pokoju czatu Zostanie utworzony zasób Message. Nowa wiadomość
Użytkownik staje się menedżerem pokoju. Zasób Membership został zaktualizowany. Subskrypcja została zaktualizowana
Użytkownik zareaguje na wiadomość. Zostanie utworzony zasób Reaction. Nowa reakcja
Użytkownik opuszcza pokój. Zasób Membership został usunięty. Usunięto subskrypcję

Odbieranie zdarzeń z Google Chat

Aby odbierać wydarzenia, aplikacja Google Chat może wykonywać jedną z tych czynności:

  • Subskrybuj zdarzenia za pomocą interfejsu Google Workspace Events API, aby otrzymywać zdarzenia na bieżąco.
  • Wyślij zapytanie dotyczące ostatnich zdarzeń, wywołując interfejs Chat API.

W tabeli poniżej podano różnice i przyczyny zapytań lub subskrypcji zdarzeń:

Subskrybuj wydarzenia Zapytanie o zdarzenia
Przykłady zastosowań
  • Przetwarzaj zdarzenia i reaguj na nie w czasie rzeczywistym.
  • Monitoruj aktywność użytkowników związaną z członkostwem i odkrywaj nowe pokoje do monitorowania.
  • Przetwarzaj zdarzenia lub reaguj na nie okresowo lub za pomocą reguł.
  • Pobierz pominięte zdarzenia z subskrypcji (z powodu przerwy w działaniu lub nieaktywnej subskrypcji).
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
  • Miejsce

Listę obsługiwanych typów zdarzeń znajdziesz w artykule Typy zdarzeń związane z tworzeniem subskrypcji w dokumentacji interfejsu Google Workspace Events API.
  • Wiadomości
  • Wspieranie kanału
  • Reakcje
  • Miejsce

Listę obsługiwanych typów zdarzeń znajdziesz w zasobie spaceEvents w dokumentacji referencyjnej interfejsu Chat API.
Format zdarzenia Wiadomość Google Cloud Pub/Sub sformatowana zgodnie ze specyfikacją CloudEvent. Więcej informacji znajdziesz w artykule Struktura zdarzeń w Google Workspace. Zasób interfejsu Chat API ( spaces.spaceEvent)
Dane zdarzenia Ciąg zakodowany w standardzie Base64 z danymi zasobów lub bez nich. Przykładowe ładunki znajdziesz w artykule Dane zdarzeń. Ładunek JSON zawierający dane zasobów. Niektóre typy zdarzeń zawierają tylko określone pola zasobów. Przykładowe ładunki znajdziesz w dokumentacji.

Przykład: wysyłanie zapytań o wydarzenia dotyczące członkostwa w pokoju lub subskrybowanie wydarzeń

W tym przykładzie aplikacja Google Chat chce otrzymywać informacje o zmianach dotyczących użytkowników pokoju czatu. W pokoju zachodzą te działania związane z członkostwem:

  • Użytkownik dołącza do pokoju, co powoduje utworzenie zasobu Membership i wywołanie nowego zdarzenia użytkownika.
  • Użytkownik staje się menedżerem pokoju, który aktualizuje zasób Membership u niego i wywołuje zaktualizowane zdarzenie członka.
  • Użytkownik opuszcza pokój, co powoduje usunięcie zasobu Membership użytkownika i wywołanie zdarzenia usunięcia użytkownika.

Subskrybowanie wydarzeń członkowskich

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

aplikacja do obsługi czatu, która subskrybuje wydarzenia za pomocą interfejsu Google Workspace Events API.
Rysunek 2. Aplikacja do obsługi czatu otrzymuje zdarzenia subskrypcji w ramach subskrypcji i korzysta z interfejsu Google Workspace Events API.

Na ilustracji 2 aplikacja Google Chat ma aktywną subskrypcję pokoju, więc otrzymuje zdarzenie za każdym razem, gdy zmienia się członkostwo w pokoju. Dzięki temu aplikacja Google Chat może przetwarzać działania oraz odpowiadać w czasie rzeczywistym na takie działania jak na przykład opublikować prywatną wiadomość powitalną osobie, która dołączyła do pokoju.

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

Zapytanie o ostatnie zdarzenia związane z członkostwem

Zamiast otrzymywać zdarzenia subskrypcji w miarę ich występowania, aplikacja do obsługi czatu może wywoływać interfejs Chat API, aby wyświetlić listę ostatnich zdarzeń w pokoju związanych z aktywnością związaną z członkostwem.

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 członkostwa przez zapytanie o zdarzenia pokoju przy użyciu interfejsu Chat API.

Na ilustracji 3 aplikacja Google Chat wywołuje metodę spaces.spaceEvents.list() interfejsu Chat API po wystąpieniu wszystkich aktywności związanych z członkostwem, a następnie filtruje zapytanie pod kątem nowych, zaktualizowanych i usuniętych zdarzeń członkostwa. Chat API zwraca listę zasobów spaceEvent, które reprezentują poszczególne zmiany w członkostwie. Aplikacja Google Chat może następnie przetwarzać informacje lub odpowiadać na nie na podstawie ostatniej aktywności. Może to być na przykład publikowanie cotygodniowej wiadomości z podsumowaniem aktywności osób w pokoju z ostatnich 7 dni.

Jeśli chcesz wysyłać zapytania o wydarzenia przy użyciu interfejsu Chat API, przeczytaj artykuł Wyświetlanie zdarzeń z pokoju Google Chat.

Ograniczenia

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