Na tej stronie opisujemy zdarzenia w Google Chat, które aplikacja do obsługi czatu może subskrybować za pomocą interfejsu Google Workspace Events API. Po określeniu, jakich typów zdarzeń potrzebujesz, utwórz subskrypcję, aby zacząć otrzymywać zdarzenia z Google Chat.
Oprócz subskrybowania zdarzeń możesz też wysyłać zapytania o zdarzenia, wywołując interfejs Chat API. Wywoływanie interfejsu Chat API umożliwia okresowe pobieranie zdarzeń lub nadrabianie zaległości w zdarzeniach, które mogły zostać pominięte w ramach subskrypcji z powodu awarii. Więcej informacji o sposobach otrzymywania zdarzeń w Google Chat i odpowiadania na nie znajdziesz w artykule Praca ze zdarzeniami 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 Chat:
- Nowe, zaktualizowane lub usunięte wiadomości w pokoju.
- nowe lub usunięte reakcje na wiadomość;
- Nowi, zaktualizowani lub usunięci członkowie pokoju.
- zmiany w pokoju, do którego subskrybujesz, np. zaktualizowana nazwa lub opis pokoju.
Zasoby, które możesz monitorować pod kątem zdarzeń
Aby otrzymywać zdarzenia, musisz określić zasób Google Chat do monitorowania, który jest nazywany zasobem docelowym subskrypcji.
Google Workspace Events API obsługuje te zasoby docelowe w Google Chat:
| Zasób docelowy | Format | Ograniczenia |
|---|---|---|
| Spacja |
gdzie SPACE to identyfikator w
nazwie zasobu interfejsu Chat API |
Użytkownik Google Chat lub aplikacja Google Chat, która autoryzuje subskrypcję, musi być członkiem pokoju na koncie Google Workspace lub Google. Obsługiwane: |
| Wszystkie przestrzenie użytkownika |
|
Subskrypcja otrzymuje tylko wydarzenia dotyczące pokoi, w których użytkownik jest członkiem za pomocą konta Google Workspace lub konta Google. Obsługuje tylko uwierzytelnianie użytkownika. |
| Użytkownik |
gdzie USER to identyfikator w
nazwie zasobu interfejsu Chat API |
Subskrypcja otrzymuje tylko zdarzenia dotyczące użytkownika, który ją autoryzował. Użytkownik nie może autoryzować subskrypcji w imieniu innych użytkowników. Obsługuje tylko uwierzytelnianie użytkownika. |
Typy zdarzeń do tworzenia subskrypcji
Podczas tworzenia subskrypcji używasz pola
eventTypes[]
do określania typów zdarzeń, które chcesz otrzymywać. Typy zdarzeń są sformatowane 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 w Google Chat, musisz określić pokój jako zasób docelowy, a typ zdarzenia jako google.workspace.chat.membership.v1.created. Aby otrzymywać zdarzenia dotyczące dołączenia danego użytkownika do dowolnej przestrzeni, określ użytkownika jako zasób docelowy, a typ zdarzenia jako 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 informacje o tym, które typy zdarzeń są obsługiwane w przypadku subskrypcji przestrzeni i subskrypcji użytkowników. Więcej informacji o wyjątkach dotyczących tego, co wywołuje zdarzenie, znajdziesz w sekcji Ograniczenia.
| Typ wydarzenia | Format | Dane zasobów | ||
|---|---|---|---|---|
| Subskrypcje pokoi | ||||
| Wiadomość została opublikowana. |
|
|
||
| zaktualizowanie wiadomości, |
|
|
||
| Wiadomość zostanie usunięta. |
|
|
||
| Reakcja zostanie utworzona. |
|
|
||
| Reakcja zostanie usunięta. |
|
|
||
| Użytkownik zostanie dodany do pokoju. |
|
|
||
| Członek grupy zostanie zaktualizowany w pokoju. |
|
|
||
| Użytkownik zostanie usunięty z pokoju. |
|
|
||
| Pokój zostanie zaktualizowany. |
|
|
||
| Pokój zostanie usunięty. |
|
|
||
| Subskrypcje użytkowników | ||||
| Użytkownik staje się członkiem pokoju.
Nie wszyscy nowi członkowie wywołują zdarzenia. Więcej informacji znajdziesz w sekcji Ograniczenia. |
|
|
||
| Zaktualizowano członkostwo użytkownika w pokoju. |
|
|
||
| Użytkownik zostanie usunięty jako bezpośredni członek pokoju. |
|
|
||
Typy zdarzeń wsadowych (tylko dane wyjściowe)
Oprócz typów zdarzeń, które subskrybujesz, aplikacja do czatu 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 do pokoju 20 użytkowników jednocześnie, Twoja aplikacja do obsługi czatu może otrzymać zdarzenie wsadowe (google.workspace.chat.membership.v1.batchCreated). Ładunek zdarzenia zawiera listę wszystkich nowych zasobów Membership, które zostały utworzone, gdy użytkownik dodał członków do pokoju.
Otrzymujesz zdarzenie wsadowe dla każdego typu zdarzenia, które subskrybujesz, więc podczas tworzenia subskrypcji nie musisz określać zdarzeń wsadowych. Jeśli na przykład subskrybujesz nowe reakcje (google.workspace.chat.reaction.v1.created), aplikacja do czatu zostanie automatycznie skonfigurowana tak, aby otrzymywać zdarzenia reakcji zbiorczych (google.workspace.chat.reaction.v1.batchCreated).
W tabeli poniżej znajdziesz możliwe zdarzenia zbiorcze dotyczące subskrypcji:
| Typ zdarzenia wsadowego | Format |
|---|---|
| Opublikowano wiele wiadomości. |
|
| Zaktualizowano wiele wiadomości. |
|
| Wiele wiadomości zostanie usuniętych. |
|
| Utworzonych zostanie kilka reakcji. |
|
| Wiele reakcji zostanie usuniętych. |
|
| Do subskrybowanego pokoju dodano wielu użytkowników lub subskrybujący użytkownik został dodany do wielu pokoi. |
|
| Wiele członkostw jest aktualizowanych w subskrybowanym pokoju lub w przypadku subskrybowanego użytkownika. |
|
| Z subskrybowanego pokoju usunięto wielu użytkowników lub subskrybujący 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 Chat.
Gdy subskrypcja Google Workspace otrzyma zdarzenie z Google Chat, pole data będzie zawierać ładunek zdarzenia. Ten ładunek zawiera informacje o zmienionym zasobie Google Workspace. Jeśli na przykład subskrybujesz zdarzenia dotyczące członkostwa w przestrzeni, ładunek tych zdarzeń zawiera informacje o zasobie spaces.membership, który uległ zmianie.
Dane zasobu w ładunku zdarzenia
Podczas tworzenia subskrypcji możesz określić, czy chcesz, aby ładunek zawierał szczegóły zasobu, czy tylko jego nazwę. Jeśli na przykład chcesz otrzymywać zdarzenia dotyczące użytkowników w pokoju na czacie, możesz określić, które pola zasobu członkostwa chcesz otrzymywać w ładunku zdarzenia.
W tabeli poniżej znajdziesz przykłady ładunków JSON w przypadku subskrypcji pokoju na czacie spaces/AAAABBBBBB. W przypadku każdego zdarzenia, które otrzymuje subskrypcja, ładunek pojawia się w polu data zdarzenia:
| Przykład | Typ wydarzenia | Ładunek JSON |
|---|---|---|
Użytkownik publikuje w pokoju wiadomość „Hello world”. |
|
Zawiera dane zasobów:
{
"message":
{
"name": "spaces/Wyklucza dane o zasobach:
{
"message":
{
"name": "spaces/ |
| Użytkownik staje się menedżerem pokoju. |
|
Zawiera dane zasobów:
{
"membership":
{
"name": "spaces/Wyklucza dane o zasobach:
{
"membership":
{
"name": "spaces/ |
| Użytkownik aktualizuje opis pokoju na „Zespół sprzedaży Cymbal Labs”. | google.workspace.chat.space.v1.updated |
Zawiera dane zasobów:
{
"space":
{
"name": "spaces/Wyklucza dane o zasobach:
{
"space":
{
"name": "spaces/ |
| Do pokoju dodano jednocześnie 2 użytkowników Google Chat. | google.workspace.chat.membership.v1.batchCreated |
Zawiera dane zasobów:
{
"memberships": [
{
"membership": {
"name": "spaces/Wyklucza dane o zasobach:
{
"memberships": [
{
"membership": {
"name": "spaces/ |
| Użytkownik reaguje na wiadomość emotikonem 😊. | google.workspace.chat.reaction.v1.created |
Zawiera dane zasobów:
{
"reaction":
{
"name": "spaces/Wyklucza dane o zasobach:
{
"reaction":
{
"name": "spaces/ |
| Użytkownicy reagują na wiadomość za pomocą emotikonów 😊 i 😸. | google.workspace.chat.reaction.v1.batchCreated |
Zawiera dane zasobów:
{
"reactions": [
{
"reaction": {
"name": "spaces/Wyklucza dane 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 lub aplikacja Google Chat musi być bezpośrednim członkiem pokoju. Jeśli użytkownik został dodany, zaktualizowany lub usunięty z pokoju pośrednio za pomocą grupy dyskusyjnej Google, subskrypcja nie otrzyma tych zdarzeń związanych z członkostwem. Aby dowiedzieć się, jak działają członkostwa w grupach dyskusyjnych Google, zapoznaj się z artykułem Dodawanie grupy dyskusyjnej Google do pokoju.
Powiązane artykuły
- Struktura wydarzeń Google Workspace
- Wybieranie zakresów protokołu OAuth
- Utwórz subskrypcję, aby otrzymywać zdarzenia z Google Chat.