Na tej stronie opisaliśmy zdarzenia Google Chat, które aplikacja Google Chat może subskrybować za pomocą interfejsu Google Workspace Events API. Gdy zdecydujesz, których typów zdarzeń potrzebujesz, utwórz subskrypcję, aby zacząć otrzymywać zdarzenia z Google Chat.
Oprócz subskrybowania zdarzeń możesz też wysyłać zapytania dotyczące zdarzeń, wywołując interfejs Chat API. Wywoływanie interfejsu API Google Chat umożliwia okresowe pobieranie zdarzeń lub nadrabianie zaległości w przypadku zdarzeń, które mogły nie dotrzeć do subskrybenta z powodu awarii. Aby dowiedzieć się, jak otrzymywać zdarzenia z Google Chat i na nie odpowiadać, zapoznaj się z artykułem Praca z wydarzeniami z Google Chat w dokumentacji Google Chat.
Obsługiwane zdarzenia Google Chat
Subskrypcje Google Workspace umożliwiają otrzymywanie zdarzeń dotyczących tych typów zmian w Google Chat:
- nowe, zaktualizowane lub usunięte wiadomości w pokoju;
- nowe lub usunięte reakcje na wiadomość,
- nowi, zaktualizowani lub usunięci członkowie w pokoju;
- zmiany w salach, do których się subskrybujesz, np. zaktualizowana nazwa lub opis sali;
Zasoby, które możesz monitorować pod kątem zdarzeń
Aby otrzymywać zdarzenia, musisz określić zasób Google Chat, który chcesz monitorować. Ten zasób jest nazywany zasobem docelowym subskrypcji.
Interfejs API Google Workspace Events obsługuje te zasoby docelowe w Google Chat:
Zasób docelowy | Format | Ograniczenia |
---|---|---|
Spacja |
gdzie SPACE to identyfikator w
nazwie zasobu zasobu zasobu Chat API |
Użytkownik Google Chat, który autoryzuje subskrypcję, musi być członkiem pokoju za pomocą konta Google Workspace lub Google. |
Wszystkie pokoje użytkownika |
|
Subskrypcja otrzymuje tylko wydarzenia z pokoi, w których użytkownik jest członkiem za pomocą konta Google Workspace lub konta Google. |
Użytkownik |
gdzie USER to identyfikator w
nazwie zasobu zasobu zasobu Chat API |
Subskrypcja odbiera tylko zdarzenia dotyczące użytkownika, który autoryzował subskrypcję. Użytkownik nie może autoryzować subskrypcji w imieniu innych użytkowników. |
Typy zdarzeń do tworzenia subskrypcji
Podczas tworzenia subskrypcji możesz użyć pola eventTypes[]
, aby określić, które typy zdarzeń chcesz otrzymywać. Typy zdarzeń są formatowane zgodnie ze specyfikacją CloudEvents, np. google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
.
Aby na przykład otrzymywać zdarzenia dotyczące użytkowników dołączających do pokoju czatu, jako zasób docelowy podaj pokój, a jako typ zdarzenia –google.workspace.chat.membership.v1.created
. Aby otrzymywać zdarzenia dotyczące danego użytkownika dołączającego do dowolnej przestrzeni, jako zasób docelowy podaj użytkownika, a jako typ zdarzenia – google.workspace.chat.membership.v1.created
. Więcej informacji o tym, jak działają zdarzenia, znajdziesz w artykule Struktura zdarzeń Google Workspace.
W tabeli poniżej znajdziesz listę typów zdarzeń obsługiwanych w przypadku subskrypcji pokoju i subskrypcji użytkowników. Więcej informacji o wyjątkach dotyczących tego, co powoduje wystąpienie zdarzenia, znajdziesz w sekcji Ograniczenia.
Typ zdarzenia | Format | Dane zasobu | ||
---|---|---|---|---|
Subskrypcje pokoi | ||||
wiadomość została opublikowana, |
|
|
||
wiadomość została zaktualizowana, |
|
|
||
Wiadomość została usunięta. |
|
|
||
Tworzy reakcję. |
|
|
||
reakcja została usunięta; |
|
|
||
Użytkownik zostaje dodany do pokoju. |
|
|
||
Zaktualizowano członka pokoju. |
|
|
||
Użytkownik zostaje usunięty z pokoju. |
|
|
||
Pokój został zaktualizowany. |
|
|
||
Pokój zostanie usunięty. |
|
|
||
Subskrypcje użytkowników | ||||
Użytkownik staje się uczestnikiem pokoju.
Nie wszystkie nowe osoby wywołują zdarzenia. Więcej informacji znajdziesz w sekcji Ograniczenia. |
|
|
||
Zaktualizowano członkostwo użytkownika w pokoju. |
|
|
||
Użytkownik zostaje usunięty jako bezpośredni członek pokoju. |
|
|
Typy zdarzeń zbiorczych (tylko dane wyjściowe)
Oprócz typów zdarzeń, na które się subskrybujesz, aplikacja Google Chat może też otrzymywać zdarzenia zbiorcze. Zdarzenie zbiorcze to zdarzenie, które reprezentuje wiele zdarzeń tego samego typu, które występują w krótkim czasie. Ładunek zdarzenia zbiorczego zawiera listę wszystkich zmienionych zasobów.
Jeśli na przykład użytkownik doda 20 użytkowników do pokoju w tym samym czasie, Twoja aplikacja Google Chat może otrzymać zdarzenie zbiorcze (google.workspace.chat.membership.v1.batchCreated
). Ładunek zdarzenia zawiera listę wszystkich nowych zasobów google.workspace.chat.membership.v1.batchCreated
, które zostały utworzone, gdy użytkownik dodał użytkowników do pokoju.Membership
Otrzymujesz zdarzenie zbiorcze dla każdego typu zdarzenia, na które subskrybujesz, więc nie musisz określać zdarzeń zbiorczych podczas tworzenia subskrypcji. Jeśli na przykład subskrybujesz nowe reakcje (google.workspace.chat.reaction.v1.created
), Twoja aplikacja Google Chat zostanie automatycznie skonfigurowana tak, aby otrzymywać zbiorcze zdarzenia reakcji (google.workspace.chat.reaction.v1.batchCreated
).
W tabeli poniżej przedstawiono możliwe zdarzenia zbiorcze dotyczące subskrypcji:
Typ zdarzenia zbiorczego | Format |
---|---|
opublikowano wiele wiadomości, |
|
Zaktualizowano wiele wiadomości. |
|
Usuwanie wielu wiadomości. |
|
Utworzono wiele reakcji. |
|
Usunięto wiele reakcji. |
|
Do pokoju subskrybowanego dodano wielu użytkowników lub subskrybowany użytkownik został dodany do wielu pokoi. |
|
W pokoju subskrybowanym lub w przypadku subskrybowanego użytkownika aktualizowane są liczne subskrypcje. |
|
z pokoju usunięci zostali liczni użytkownicy lub subskrybent został usunięty z wielu pokoi; |
|
pokój ma wiele aktualizacji; |
|
Dane zdarzenia
W tej sekcji opisano dane zdarzeń i przykładowe ładunki zdarzeń w Google Chat.
Gdy subskrypcja Google Workspace otrzyma zdarzenie z Google Chat, pole data
będzie zawierać ładunek tego zdarzenia. Ten ładunek zawiera informacje o zmienionym zasobie Google Workspace. Jeśli na przykład subskrybujesz zdarzenia dotyczące członkostwa w pokoju, ładunek tych zdarzeń zawiera informacje o zmienionym zasobie spaces.membership
.
Dane zasobu w ładunku zdarzenia
Podczas tworzenia subskrypcji możesz określić, czy ładunek ma zawierać szczegóły zasobu, czy tylko jego nazwę. Jeśli na przykład chcesz otrzymywać zdarzenia dotyczące użytkowników w pokoju czatu, możesz określić, które pola zasobu członkostwa chcesz otrzymywać w ładunku zdarzenia.
Poniższa tabela zawiera przykłady ładunków JSON dla subskrypcji pokoju czatu spaces/AAAABBBBBB
. W przypadku każdego zdarzenia, które subskrypcja otrzymuje, ładunek znajduje się w polu data
zdarzenia:
Przykład | Typ zdarzenia | Ładunek JSON |
---|---|---|
Użytkownik publikuje w pokoju wiadomość „Hello world”. |
|
Obejmuje dane o zasobach: { "message": { "name": "spaces/ Nie zawiera danych o zasobach: { "message": { "name": "spaces/ |
Użytkownik staje się menedżerem pokoju. |
|
Obejmuje dane o zasobach: { "membership": { "name": "spaces/ Nie zawiera danych o zasobach: { "membership": { "name": "spaces/ |
Użytkownik aktualizuje opis pokoju na „Zespół sprzedaży Cymbal Labs”. | google.workspace.chat.space.v1.updated |
Obejmuje dane o zasobach:
{
"space":
{
"name": "spaces/ Nie zawiera danych o zasobach:
{
"space":
{
"name": "spaces/ |
Do pokoju dodano 2 użytkowników Google Chat w tym samym czasie. | google.workspace.chat.membership.v1.batchCreated |
Obejmuje dane o zasobach: { "memberships": [ { "membership": { "name": "spaces/ Nie zawiera danych o zasobach: { "memberships": [ { "membership": { "name": "spaces/ |
Użytkownik reaguje na wiadomość emotikonem 😊. | google.workspace.chat.reaction.v1.created |
Obejmuje dane o zasobach: { "reaction": { "name": "spaces/ Nie zawiera danych o zasobach: { "reaction": { "name": "spaces/ |
Użytkownicy mogą zareagować na wiadomość za pomocą emotikonów 😊 i 😸. | google.workspace.chat.reaction.v1.batchCreated |
Obejmuje dane o zasobach: { "reactions": [ { "reaction": { "name": "spaces/ Nie zawiera danych o zasobach: { "reactions": [ { "reaction": { "name": "spaces/ |
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
) są wywoływane 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.
Powiązane artykuły
- Struktura zdarzeń Google Workspace
- Wybieranie zakresów protokołu OAuth
- Utwórz subskrypcję, aby otrzymywać zdarzenia z Google Chat