Event

Zdarzenie interakcji aplikacji Google Chat, które reprezentuje interakcję użytkownika z aplikacją do obsługi czatu i zawiera dane na jej temat. Aby skonfigurować aplikację do obsługi czatu tak, aby otrzymywała zdarzenia interakcji, zapoznaj się z artykułem Otrzymywanie odpowiedzi na interakcje użytkowników.

Oprócz otrzymywania zdarzeń związanych z interakcjami użytkowników aplikacje do obsługi czatu mogą otrzymywać zdarzenia dotyczące zmian w pokojach, np. gdy do pokoju zostanie dodany nowy użytkownik. Więcej informacji o zdarzeniach w pokoju znajdziesz w artykule Korzystanie ze zdarzeń z Google Chat.

Uwaga: to zdarzenie jest używane tylko w przypadku zdarzeń interakcji na czacie. Jeśli Twoja aplikacja Google Chat jest utworzona jako dodatek do Google Workspace, zapoznaj się z sekcją Obiekty zdarzeń w Google Chat w dokumentacji dodatków.

Zapis JSON
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  },
  "appCommandMetadata": {
    object (AppCommandMetadata)
  }
}
Pola
type

enum (EventType)

Rodzaj interakcji użytkownika z aplikacją Chat, np. MESSAGE lub ADDED_TO_SPACE.

eventTime

string (Timestamp format)

Sygnatura czasowa wskazująca, kiedy wystąpiło zdarzenie interakcji.

token

string

Tajny klucz, którego starsze aplikacje Chat mogą używać do sprawdzania, czy żądanie pochodzi od Google. Token jest generowany losowo przez Google, a jego wartość pozostaje stała. Token możesz uzyskać, cofnąć lub ponownie wygenerować na stronie konfiguracji interfejsu Chat API w konsoli Google Cloud.

Nowoczesne aplikacje do obsługi czatu nie używają tego pola. Nie ma go w odpowiedziach interfejsu API ani na stronie konfiguracji interfejsu Chat API.

threadKey

string

Klucz zdefiniowany przez aplikację do obsługi czatu dla wątku powiązanego ze zdarzeniem interakcji. Więcej informacji znajdziesz w sekcji spaces.messages.thread.threadKey.

message

object (Message)

W przypadku zdarzeń interakcji ADDED_TO_SPACE, CARD_CLICKEDMESSAGE wiadomość, która wywołała zdarzenie interakcji (jeśli dotyczy).

user

object (User)

Użytkownik, który wszedł w interakcję z aplikacją Chat.

thread

object (Thread)

Wątek, w którym użytkownik wchodził w interakcję z aplikacją Google Chat. Może to być nowy wątek utworzony przez nowo wysłaną wiadomość. To pole jest wypełniane, jeśli zdarzenie interakcji jest powiązane z konkretną wiadomością lub wątkiem.

space

object (Space)

Pokój, w którym użytkownik wchodził w interakcję z aplikacją Google Chat.

action

object (FormAction)

W przypadku zdarzeń interakcji CARD_CLICKED dane działania formularza są powiązane z kliknięciem karty lub okna przez użytkownika. Więcej informacji znajdziesz w artykule Odczytywanie danych z formularza wprowadzonych przez użytkowników na kartach.

configCompleteRedirectUrl

string

Ten adres URL jest wypełniany w przypadku zdarzeń interakcji MESSAGE, ADDED_TO_SPACEAPP_COMMAND. Po zakończeniu procesu autoryzacji lub konfiguracji poza Google Chat użytkownicy muszą zostać przekierowani na ten adres URL, aby poinformować Google Chat o pomyślnym zakończeniu procesu autoryzacji lub konfiguracji. Więcej informacji znajdziesz w artykule Łączenie aplikacji do obsługi czatu z innymi usługami i narzędziami.

isDialogEvent

boolean

W przypadku zdarzeń interakcji CARD_CLICKEDMESSAGE informuje, czy użytkownik wchodzi w interakcję z oknem dialogowym lub zamierza to zrobić.

dialogEventType

enum (DialogEventType)

Typ odebranego zdarzenia interakcji dialogu.

common

object (CommonEventObject)

Zawiera informacje o kliencie użytkownika, takie jak region, aplikacja hosta i platforma. W przypadku aplikacji Google Chat CommonEventObject obejmuje informacje przesyłane przez użytkowników wchodzących w interakcję z oknami, takie jak dane wprowadzane na karcie.

appCommandMetadata

object (AppCommandMetadata)

Metadane polecenia aplikacji w Google Chat.

CommonEventObject

Obiekt zdarzenia wspólnego to część ogólnego obiektu zdarzenia, która przekazuje do dodatku ogólne informacje niezależne od hosta z klienta użytkownika. Te informacje obejmują szczegóły takie jak ustawienia regionalne użytkownika, aplikacja hosta i platforma.

Oprócz wyzwalaczy strony głównej i kontekstowych dodatki tworzą i przekazują obiekty zdarzeń do funkcji wywołania zwrotnego działania, gdy użytkownik wchodzi w interakcję z widżetami. Funkcja wywołania zwrotnego dodatku może wysyłać zapytania do wspólnego obiektu zdarzenia, aby określić zawartość otwartych widżetów na urządzeniu użytkownika. Na przykład dodatek może znaleźć tekst wpisany przez użytkownika w widżecie TextInput w obiekcie eventObject.commentEventObject.formInputs.

W przypadku aplikacji Google Chat nazwa funkcji, którą użytkownik wywołał podczas interakcji z widżetem.

Zapis JSON
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
Pola
userLocale

string

Domyślnie wyłączona. Identyfikator języka i kraju/regionu użytkownika w formacie ISO 639 (kod języka) – ISO 3166 (kod kraju/regionu). Na przykład: en-US.

Aby włączyć to pole, musisz ustawić wartość addOns.common.useLocaleFromApp na true w pliku manifestu dodatku. Lista zakresów dodatku musi też zawierać https://www.googleapis.com/auth/script.locale. Więcej informacji znajdziesz w artykule Uzyskiwanie dostępu do ustawień regionalnych i strefy czasowej użytkownika.

hostApp

enum (HostApp)

Wskazuje aplikację hosta, w której dodatek jest aktywny w momencie generowania obiektu zdarzenia. Możliwe wartości to:

  • GMAIL
  • CALENDAR
  • DRIVE
  • DOCS
  • SHEETS
  • SLIDES
  • CHAT
platform

enum (Platform)

Wyliczenie platformy, które wskazuje platformę, z której pochodzi zdarzenie (WEB, IOS lub ANDROID). Nie jest obsługiwane przez aplikacje do obsługi czatu.

timeZone

object (TimeZone)

Domyślnie wyłączona. Identyfikator strefy czasowej i przesunięcie względem uniwersalnego czasu koordynowanego (UTC). Aby włączyć to pole, musisz ustawić wartość addOns.common.useLocaleFromApp na true w pliku manifestu dodatku. Lista zakresów dodatku musi też zawierać https://www.googleapis.com/auth/script.locale. Więcej informacji znajdziesz w artykule Uzyskiwanie dostępu do ustawień regionalnych i strefy czasowej użytkownika.

Obsługiwane tylko w przypadku typów zdarzeń CARD_CLICKEDSUBMIT_DIALOG.

formInputs

map (key: string, value: object (Inputs))

Mapa zawierająca bieżące wartości widżetów na wyświetlanej karcie. Kluczami mapy są identyfikatory ciągów znaków przypisane do każdego widżetu.

Struktura obiektu wartości mapy zależy od typu widżetu:

Uwaga: poniższe przykłady są sformatowane pod kątem środowiska wykonawczego V8 w Apps Script. Jeśli używasz środowiska wykonawczego Rhino, po wartości musisz dodać [""]. Na przykład zamiast e.commonEventObject.formInputs.employeeName.stringInputs.value[0] sformatuj obiekt zdarzenia jako e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0]. Więcej informacji o środowiskach wykonawczych w Apps Script znajdziesz w omówieniu środowiska wykonawczego V8.

  • Widżety z 1 wartością (np. pole tekstowe): lista ciągów (tylko 1 element).

Przykład: w przypadku widżetu wprowadzania tekstu o identyfikatorze employeeName wartość wpisanego tekstu można uzyskać za pomocą kodu e.commonEventObject.formInputs.employeeName.stringInputs.value[0].

  • Widżety wielowartościowe (np. grupy pól wyboru): lista ciągów znaków.

Przykład: w przypadku widżetu z wieloma wartościami, którego identyfikator to participants, dostęp do tablicy wartości uzyskasz za pomocą tego kodu: e.commonEventObject.formInputs.participants.stringInputs.value.

Przykład: w przypadku selektora o identyfikatorze myDTPicker dostęp do obiektu DateTimeInput uzyskasz za pomocą kodu e.commonEventObject.formInputs.myDTPicker.dateTimeInput.

Przykład: w przypadku selektora o identyfikatorze myDatePicker dostęp do obiektu DateInput uzyskasz za pomocą kodu e.commonEventObject.formInputs.myDatePicker.dateInput.

Przykład: w przypadku selektora o identyfikatorze myTimePicker dostęp do obiektu TimeInput uzyskasz za pomocą kodu e.commonEventObject.formInputs.myTimePicker.timeInput.

parameters

map (key: string, value: string)

Wszystkie dodatkowe parametry przekazywane do działania za pomocą actionParameters lub Action.setParameters().

Wersja zapoznawcza dla deweloperów: w przypadku dodatków rozszerzających Google Chat, aby sugerować elementy na podstawie tego, co użytkownicy wpisują w menu wielokrotnego wyboru, użyj wartości klucza "autocomplete_widget_query" (event.commonEventObject.parameters["autocomplete_widget_query"]). Możesz użyć tej wartości do wysyłania zapytań do bazy danych i sugerowania użytkownikom elementów do wyboru podczas wpisywania. Szczegółowe informacje znajdziesz w artykule Zbieranie i przetwarzanie informacji od użytkowników Google Chat.

invokedFunction

string

Nazwa funkcji do wywołania.

To pole nie jest wypełniane w przypadku dodatków do Google Workspace, które rozszerzają Google Chat. Zamiast tego, aby otrzymywać dane funkcji, takie jak identyfikatory, dodatki rozszerzające Chat powinny używać pola parameters. Więcej informacji znajdziesz w artykule Tworzenie interaktywnych interfejsów dla aplikacji Google Chat.

TimeZone

Identyfikator strefy czasowej i przesunięcie względem uniwersalnego czasu koordynowanego (UTC). Obsługiwane tylko w przypadku typów zdarzeń CARD_CLICKEDSUBMIT_DIALOG.

Zapis JSON
{
  "id": string,
  "offset": integer
}
Pola
id

string

Kod strefy czasowej z bazy danych IANA TZ, np. „America/Toronto”.

offset

integer

Przesunięcie strefy czasowej użytkownika od uniwersalnego czasu koordynowanego (UTC) w milisekundach.

Wejścia

Rodzaje danych, które użytkownicy mogą wpisywać na kartach lub w oknach. Typ danych wejściowych zależy od typu wartości, które akceptuje widżet.

Zapis JSON
{

  // Union field inputs can be only one of the following:
  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
  // End of list of possible types for union field inputs.
}
Pola

Pole zbiorcze inputs.

Pole inputs może mieć tylko jedną z tych wartości:

stringInputs

object (StringInputs)

Lista ciągów tekstowych reprezentujących wartości wprowadzane przez użytkownika w widżecie.

Jeśli widżet akceptuje tylko jedną wartość, np. widżet TextInput, lista zawiera jeden obiekt ciągu znaków. Jeśli widżet akceptuje wiele wartości, np. widżet SelectionInput z polami wyboru, lista zawiera obiekt ciągu znaków dla każdej wartości wpisanej lub wybranej przez użytkownika.

dateTimeInput

object (DateTimeInput)

Wartości daty i godziny z widżetu DateTimePicker, który akceptuje zarówno datę, jak i godzinę.

dateInput

object (DateInput)

Wartości wejściowe daty z widżetu DateTimePicker, który akceptuje tylko wartości daty.

timeInput

object (TimeInput)

Wartości czasu z widżetu DateTimePicker, który akceptuje tylko wartości czasu.

StringInputs

Parametr wejściowy dla zwykłych widżetów. W przypadku widżetów z jedną wartością jest to lista z jedną wartością. W przypadku widżetów wielowartościowych, takich jak pole wyboru, wyświetlane są wszystkie wartości.

Zapis JSON
{
  "value": [
    string
  ]
}
Pola
value[]

string

Lista ciągów znaków wprowadzonych przez użytkownika.

DateTimeInput

Wartości wejściowe daty i godziny.

Zapis JSON
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
Pola
msSinceEpoch

string (int64 format)

Czas od początku epoki w milisekundach.

hasDate

boolean

Określa, czy dane wejściowe datetime zawierają datę kalendarzową.

hasTime

boolean

Określa, czy dane wejściowe datetime zawierają sygnaturę czasową.

DateInput

Wartości wejściowe daty.

Zapis JSON
{
  "msSinceEpoch": string
}
Pola
msSinceEpoch

string (int64 format)

Czas od początku epoki w milisekundach.

TimeInput

Wartości wejściowe czasu.

Zapis JSON
{
  "hours": integer,
  "minutes": integer
}
Pola
hours

integer

Godzina w formacie 24-godzinnym.

minutes

integer

Liczba minut po pełnej godzinie. Prawidłowe wartości to od 0 do 59.

AppCommandMetadata

Metadane dotyczące polecenia aplikacji Google Chat.

Zapis JSON
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
Pola
appCommandId

integer

Identyfikator polecenia określony w konfiguracji interfejsu Chat API.

appCommandType

enum (AppCommandType)

Typ polecenia aplikacji Google Chat.