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ć do nich zapytania, wywołując interfejs Google 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 przerwy w działaniu usługi. Więcej informacji o tym, jak otrzymywać zdarzenia w Google Chat i na nie odpowiadać, 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 odbierać 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 przypadku Google Chat:
| Zasób docelowy | Format | Ograniczenia |
|---|---|---|
| Miejsce |
gdzie SPACE to identyfikator w
nazwie zasobu 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 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żyj pola
eventTypes[]
do określenia 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, określ pokój jako zasób docelowy, a typ zdarzenia jako google.workspace.chat.membership.v1.created. Aby otrzymywać zdarzenia dotyczące dołączania 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 do odbierania zdarzeń 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. |
|
| W pokoju, w którym użytkownik ma subskrypcję, lub w przypadku użytkownika, który ma subskrypcję, aktualizowane są różne członkostwa. |
|
| 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 opisujemy dane zdarzeń i przykładowe ładunki zdarzeń w Chat.
Gdy abonament Google Workspace otrzyma zdarzenie z Google Chat, pole data zawiera ładunek zdarzenia. Ten ładunek zawiera informacje o zmienionym zasobie Google Workspace. Jeśli na przykład subskrybujesz wydarzenia związane z członkostwem 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 członków pokoju w Google Chat, określ, które pola zasobu członkostwa mają być uwzględnione w ładunku zdarzenia.
W tabeli poniżej znajdziesz przykłady ładunków JSON w przypadku subskrypcji pokoju w Chat 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. Więcej informacji o członkostwie w grupach dyskusyjnych Google znajdziesz w artykule 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.