Na tej stronie opisano zdarzenia Google Chat obserwowane przez aplikację mogą rozpocząć subskrypcję za pomocą interfejsu Google Workspace Events API. Po wybraniu odpowiednich typów zdarzeń, utwórz subskrypcji, aby zacząć otrzymywać wydarzenia z Google Chat.
Oprócz subskrybowania zdarzeń możesz też wysyłać zapytania o zdarzenia, wywołując za pomocą interfejsu Chat API. Wywoływanie interfejsu Chat API pozwala okresowo pobierasz informacje o wydarzeniach albo nadrabiasz zaległości, o wydarzeniach, które mogły umknąć Twojej uwadze z powodu przerwy w dostępie do usługi. Aby się uczyć o sposobach odbierania zdarzeń w Google Chat i odpowiadania na nie, zobacz Praca z wydarzeniami z Google Chat na Dokumentacja Google Chat.
Obsługiwane zdarzenia Google Chat
Subskrypcje Google Workspace umożliwiają otrzymywanie zdarzeń dotyczących: następujące typy zmian w Google Chat:
- Nowe, zaktualizowane lub usunięte wiadomości w przestrzeni kosmicznej.
- nowe lub usunięte reakcje, do wiadomości.
- Nowi, zaktualizowani lub usunięci członkowie w przestrzeni kosmicznej.
- Zmiany w pokoju które subskrybujesz, np. zmienioną nazwę lub opis pokoju.
Zasoby, które możesz monitorować pod kątem zdarzeń
Aby odbierać zdarzenia, określ zasób Google Chat, który ma być monitorowany, który jest nazywany docelowym zasobem subskrypcji.
Interfejs Google Workspace Events API obsługuje te zasoby docelowe w Google Chat:
Zasób docelowy | Format | Ograniczenia |
---|---|---|
Spacja |
gdzie SPACE jest identyfikatorem w
nazwa zasobu interfejsu Chat API |
Użytkownik Google Chat, który autoryzuje subskrypcję, musi być członkiem pokoju w ramach Google Workspace lub Google Konto. |
Wszystkie pokoje użytkownika |
|
Subskrypcja otrzymuje zdarzenia tylko z pokoi, w których znajduje się użytkownik za pomocą konta Google Workspace lub konta Google. |
Użytkownik |
gdzie USER jest identyfikatorem w
nazwa zasobu interfejsu Chat API |
Subskrypcja otrzymuje 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ń związane z tworzeniem subskrypcji
Przy tworzeniu subskrypcji używasz funkcji
eventTypes[]
aby określić, jakiego typu zdarzenia chcesz otrzymywać. Typy zdarzeń:
sformatowane zgodnie ze specyfikacją CloudEvents, np.
google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
Możesz na przykład otrzymywać informacje o zdarzeniach dotyczących użytkowników dołączających do Google Chat.
musisz określić pokój jako zasób docelowy, a typ zdarzenia to
google.workspace.chat.membership.v1.created
Aby otrzymywać informacje o zdarzeniach związanych z określonym
dołączającego do dowolnego pokoju, określasz go jako zasób docelowy oraz
typ zdarzenia: google.workspace.chat.membership.v1.created
. Aby dowiedzieć się więcej o:
jak działają wydarzenia. Więcej informacji znajdziesz w artykule Struktura Google Workspace.
wydarzenia.
W tabeli poniżej znajdziesz typy zdarzeń obsługiwane w przypadku subskrypcji w pokojach i subskrypcjach użytkowników. Aby dowiedzieć się więcej o wyjątkach które wywołują zdarzenie, zapoznaj się z sekcją Ograniczenia.
Typ zdarzenia | Format | Dane zasobów | ||
---|---|---|---|---|
Subskrypcje pokoi | ||||
Wiadomość została opublikowana. |
|
|
||
Wiadomość została zaktualizowana. |
|
|
||
Wiadomość została usunięta. |
|
|
||
Tworzona jest reakcja. |
|
|
||
Reakcja zostanie usunięta. |
|
|
||
Do pokoju zostanie dodany użytkownik. |
|
|
||
Użytkownik zostanie zaktualizowany w pokoju. |
|
|
||
Użytkownik zostanie usunięty z pokoju. |
|
|
||
Pokój został zaktualizowany. |
|
|
||
Pokój został usunięty. |
|
|
||
Subskrypcje użytkowników | ||||
Użytkownik stanie się członkiem pokoju.
Nie wszyscy nowi użytkownicy wywołują zdarzenia. Więcej informacji znajdziesz w sekcji Ograniczenia. |
|
|
||
Członkostwo użytkownika w pokoju zostanie zaktualizowane. |
|
|
||
Użytkownik zostanie usunięty jako bezpośredni członek pokoju. |
|
|
Typy zdarzeń zbiorczych (tylko dane wyjściowe)
Oprócz otrzymywania typów subskrybowanych przez Ciebie typów wydarzeń Aplikacja do obsługi czatu może też otrzymywać zdarzenia zbiorcze. Zdarzenie zbiorcze to zdarzenie reprezentujące wiele zdarzeń tego samego typu, które występują w krótkim czasie okresu. Ładunek zdarzenia zbiorczego zawiera listę wszystkich zmienionych wartości i zasobami Google Cloud.
Jeśli na przykład użytkownik doda do pokoju 20 użytkowników jednocześnie,
Aplikacja do obsługi czatu może otrzymywać zdarzenie zbiorcze
(google.workspace.chat.membership.v1.batchCreated
). Ładunek zdarzenia zawiera
lista wszystkich nowych zasobów Membership
, które zostały utworzone, gdy użytkownik
dodał(a) użytkowników do pokoju.
Otrzymujesz zdarzenie zbiorcze dla dowolnego typu wydarzenia, które subskrybujesz, więc
przy tworzeniu subskrypcji nie musisz określać zdarzeń zbiorczych. Dla:
Na przykład, jeśli zasubskrybujesz nowe reakcje
(google.workspace.chat.reaction.v1.created
), Twój
Aplikacja do obsługi czatu jest automatycznie skonfigurowana do odbierania grup
zdarzenia reakcji (google.workspace.chat.reaction.v1.batchCreated
).
W tej tabeli znajdziesz możliwe zdarzenia zbiorcze w przypadku subskrypcji:
Typ zdarzenia zbiorczego | Format |
---|---|
Opublikowano wiele wiadomości. |
|
Zaktualizowano wiele wiadomości. |
|
Usunięto wiele wiadomości. |
|
Można utworzyć wiele reakcji. |
|
Usunięto wiele reakcji. |
|
Do pokoju, który subskrybujesz, zostanie dodanych wielu użytkowników lub subskrybent został dodany do większej liczby pokoi. |
|
Informacje o wielu subskrypcjach zostaną zaktualizowane w pokoju subskrybenta lub dla subskrybowanego użytkownika. |
|
Z zasubskrybowanego pokoju zostanie usuniętych wielu użytkowników lub użytkownik został usunięty z wielu pokoi. |
|
Pokój ma wiele aktualizacji. |
|
Dane zdarzenia
W tej sekcji znajdziesz opis danych zdarzeń i przykładowe ładunki zdarzeń w Czat.
Gdy Twój abonament Google Workspace otrzyma zdarzenie z
Google Chat
data
zawiera ładunek zdarzenia. Ten ładunek zawiera informacje o
Zmieniony zasób Google Workspace. Jeśli na przykład subskrybujesz
zdarzeń członkostwa w pokoju, ładunek dla tych zdarzeń zawiera informacje
o
spaces.membership
które uległy zmianie.
Dane zasobu w ładunku zdarzenia
Przy tworzeniu subskrypcji możesz określić, czy ładunek ma zawierać informacje o zasobie lub tylko nazwę zasobu. Dla: Jeśli na przykład chcesz otrzymywać zdarzenia dotyczące uczestników czatu pokoju, możesz określić, które pola zasobu członkostwa chcesz otrzymywać w ładunku zdarzeń.
W tabeli poniżej znajdziesz przykłady ładunków JSON dla subskrypcji
w pokoju czatu spaces/AAAABBBBBB
. W przypadku każdego zdarzenia, w którym
ładunek pojawi się w polu data
zdarzenia:
Przykład | Typ zdarzenia | Ładunek JSON |
---|---|---|
Użytkownik publikuje w pokoju wiadomość „Hello world”. |
|
Zawiera dane zasobów
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD", "sender": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "2023-09-07T21:37:36.260127Z", "text": "Hello world", "thread": { "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE" }, "space": { "name": "spaces/AAAABBBBBB" }, "argumentText": "Hello world" } } Nie uwzględnia danych zasobów
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD" } } |
Użytkownik staje się menedżerem pokoju. |
|
Zawiera dane zasobów
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MANAGER" } } Nie uwzględnia danych zasobów
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } } |
Użytkownik zmieni opis pokoju na „Zespół sprzedaży w Laboratorium Cymbal”. | google.workspace.chat.space.v1.updated |
Zawiera dane zasobów
{ "space": { "name": "spaces/AAAABBBBBB", "displayName": "Cymbal Sales", "spaceThreadingState": "THREADED_MESSAGES", "spaceType": "SPACE", "spaceDetails": { "description": "Sales team for Cymbal Labs." }, "spaceHistoryState": "HISTORY_ON" } } Nie uwzględnia danych zasobów
{ "space": { "name": "spaces/AAAABBBBBB" } } |
Do pokoju jednocześnie dodano 2 użytkowników Google Chat. | google.workspace.chat.membership.v1.batchCreated |
Zawiera dane zasobów
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/987654321234567890", "state": "JOINED", "member": { "name": "users/987654321234567890", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MEMBER" } } ] } Nie uwzględnia danych zasobów
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/98765432123456789019" } } ] } |
Użytkownik zareagował na wiadomość przy użyciu emotikona 😊. | google.workspace.chat.reaction.v1.created |
Zawiera dane zasobów
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } } Pomijanie danych zasobu
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" } } |
Użytkownicy reagują na wiadomość za pomocą emotikonów 😊 lub 😸. | google.workspace.chat.reaction.v1.batchCreated |
Zawiera dane zasobów
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } }, { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", "user": { "name": "users/98765431234564321", "type": "HUMAN" }, "emoji": { "unicode": "😸" } } } ] } Pomijanie danych zasobu
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" }, "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", } } ] } |
Ograniczenia
-
w przypadku subskrypcji użytkowników, wydarzeń dotyczących nowych członków na czacie lub w czatach grupowych bez nazwy (
google.workspace.chat.membership.v1.created
), uruchamia się dopiero po opublikowaniu pierwszej wiadomości. - Aby otrzymywać wydarzenia dla członków, użytkownik musi być bezpośrednim członkiem pokoju. Jeśli dodano użytkownika, które zostały zaktualizowane lub usunięte pośrednio do pokoju za pomocą grupy dyskusyjnej Google, subskrypcja nie te zdarzenia członkostwa. Aby dowiedzieć się, jak działa członkostwo w grupach dyskusyjnych Google, zapoznaj się z artykułem Dodawanie grupy dyskusyjnej Google do pokoju
Powiązane artykuły
- Struktura zdarzeń Google Workspace
- Wybieranie zakresów protokołu OAuth
- Utwórz subskrypcję, aby: odbieranie zdarzeń czatu