Event

Zdarzenie interakcji z aplikacją Google Chat, które reprezentuje i zawiera dane o interakcji użytkownika z aplikacją Google Chat. Aby skonfigurować aplikację Google Chat do odbierania zdarzeń interakcji, zobacz Odbieranie interakcji użytkowników i odpowiadanie na nie.

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

Ostrzeżenie: ten obiekt zdarzenia jest używany tylko w przypadku aplikacji do Google Chat, które nie są dodatkami. Jeśli Twoja aplikacja do Google Chat została utworzona jako dodatek do Google Workspace, zapoznaj się z artykułem Obiekty zdarzeń dodatków w dokumentacji dodatków. Aby dowiedzieć się, jaki typ zdarzenia otrzymuje Twoja aplikacja, przeczytaj artykuł Określanie typu zdarzenia.

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)

Typ interakcji użytkownika z aplikacją Google 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 do Google Chat mogą używać do sprawdzania, czy żądanie pochodzi od Google. Google generuje token losowo, a jego wartość pozostaje stała. Token możesz uzyskać, unieważnić lub wygenerować ponownie na stronie konfiguracji interfejsu Chat API w konsoli Google Cloud.

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

threadKey

string

Zdefiniowany przez aplikację do Google Chat klucz wątku powiązanego ze zdarzeniem interakcji. Więcej informacji znajdziesz na stronie spaces.messages.thread.threadKey.

message

object (Message)

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

user

object (User)

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

thread

object (Thread)

Wątek, w którym użytkownik wszedł 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 wszedł w interakcję z aplikacją do Google Chat.

action

object (FormAction)

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

configCompleteRedirectUrl

string

Ten adres URL jest wypełniany w przypadku zdarzeń interakcji MESSAGE, ADDED_TO_SPACE i APP_COMMAND. Po zakończeniu procesu autoryzacji lub konfiguracji poza Google Chat użytkownicy muszą zostać przekierowani na ten adres URL, aby zasygnalizować Google Chat, że proces autoryzacji lub konfiguracji zakończył się powodzeniem. Więcej informacji znajdziesz w artykule Łączenie aplikacji Google Chat z innymi usługami i narzędziami.

isDialogEvent

boolean

W przypadku zdarzeń interakcji CARD_CLICKED i MESSAGE – czy użytkownik wchodzi w interakcję z oknem lub czy zamierza to zrobić.

dialogEventType

enum (DialogEventType)

Typ odebranego zdarzenia interakcji z oknem.

common

object (CommonEventObject)

Reprezentuje informacje o kliencie użytkownika, takie jak język, aplikacja hosta i platforma. W przypadku aplikacji Google Chat CommonEventObject zawiera informacje przesłane przez użytkowników wchodzących w interakcję z oknami, np. dane wpisane na karcie.

appCommandMetadata

object (AppCommandMetadata)

Metadane dotyczące polecenia aplikacji do Google Chat.

CommonEventObject

Wspólny obiekt zdarzenia to część ogólnego obiektu zdarzenia, która przenosi ogólne, niezależne od hosta informacje do dodatku z klienta użytkownika. Te informacje obejmują m.in. region użytkownika, aplikację hosta i platformę.

Oprócz aktywatorów strony głównej i aktywatorów 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 wysłać zapytanie do obiektu zdarzenia wspólnego, aby określić zawartość otwartych widżetów w kliencie 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 do Google Chat nazwa funkcji wywołanej przez użytkownika 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łączone. Identyfikator języka i kraju/regionu użytkownika w formacie: kod języka ISO 639-kod kraju/regionu ISO 3166. Na przykład: en-US.

Aby włączyć to pole, musisz ustawić 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ń językowych i strefy czasowej użytkownika.

hostApp

enum (HostApp)

Wskazuje aplikację hosta, w której dodatek jest aktywny, gdy generowany jest obiekt zdarzenia. Możliwe wartości:

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

enum (Platform)

Typ wyliczeniowy platformy, który wskazuje platformę, z której pochodzi zdarzenie (WEB, IOS lub ANDROID). Nie jest obsługiwany przez aplikacje do obsługi czatu.

timeZone

object (TimeZone)

Domyślnie wyłączone. Identyfikator strefy czasowej i przesunięcie względem uniwersalnego czasu koordynowanego (UTC). Aby włączyć to pole, musisz ustawić 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ń językowych i strefy czasowej użytkownika.

Obsługiwane tylko w przypadku typów zdarzeń CARD_CLICKED i SUBMIT_DIALOG.

formInputs

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

Mapa zawierająca bieżące wartości widżetów na wyświetlanej karcie. Klucze mapy to wartości ciągu znaków name przypisane do każdego widżetu wejściowego (takiego jak TextInput.name, SelectionInput.name, DateTimePicker.name lub DecoratedText.SwitchControl.name).

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 jedną wartością (np. widżet TextInput lub widżet SelectionInput typu DROPDOWN lub RADIO_BUTTON): obiekt StringInputs zawierający listę z jednym elementem (lub pustą listę, jeśli nie dokonano wyboru).

Przykład: w przypadku widżetu do wprowadzania tekstu, którego name to employeeName, możesz uzyskać dostęp do wartości wprowadzanej w polu tekstowym za pomocą: e.commonEventObject.formInputs.employeeName.stringInputs.value[0].

  • Widżety z wieloma wartościami (np. widżet SelectionInput typu CHECK_BOX, SWITCH lub MULTI_SELECT): obiekt StringInputs zawierający listę ciągów znaków value wybranych elementów.

Przykład: w przypadku widżetu z wieloma wartościami, którego name to participants, dostęp do tablicy wartości można uzyskać za pomocą: e.commonEventObject.formInputs.participants.stringInputs.value.

  • Widżet DecoratedText.SwitchControl: obiekt StringInputs. Gdy selected to true, stringInputs.value zawiera pole value przełącznika (lub "", jeśli nie określono value; jeśli wiele przełączników ma ten sam name, na liście znajduje się value każdego wybranego przełącznika). Gdy selected jest false, value przełącznika jest pomijany w stringInputs.value.

  • Selektor daty i godziny (DateTimePickerType.DATE_AND_TIME): DateTimeInput object.

Przykład: w przypadku selektora z wartością name równą myDTPicker uzyskaj dostęp do obiektu DateTimeInput za pomocą e.commonEventObject.formInputs.myDTPicker.dateTimeInput.

Przykład: w przypadku selektora z wartością name równą myDatePicker uzyskaj dostęp do obiektu DateInput za pomocą e.commonEventObject.formInputs.myDatePicker.dateInput.

Przykład: w przypadku selektora z wartością name równą myTimePicker uzyskaj dostęp do obiektu TimeInput za pomocą e.commonEventObject.formInputs.myTimePicker.timeInput.

parameters

map (key: string, value: string)

wszelkie dodatkowe parametry, które przekazujesz do działania za pomocą actionParameters lub Action.setParameters().

Wersja przedpremierowa dla programistó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, aby wysłać zapytanie do bazy danych i sugerować użytkownikom elementy 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. Aby otrzymywać dane funkcji, takie jak identyfikatory, dodatki rozszerzające Google Chat powinny używać pola parameters. Zobacz Tworzenie interaktywnych interfejsów aplikacji do Google Chat.

TimeZone

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

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

string

Kod bazy danych stref czasowych IANA TZ, np. „America/Toronto”.

offset

integer

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

Wejścia

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

Zapis JSON
{

  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
}
Pola
Poniżej znajduje się lista pól, które wzajemnie się wykluczają. W odpowiedzi zostanie ustawione co najwyżej jedno z tych pól:
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 wejściowe 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 wejściowe czasu z widżetu DateTimePicker, który akceptuje tylko wartości czasu.

Koniec pól wykluczających się wzajemnie.

StringInputs

Parametr wejściowy 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 z wieloma wartościami, takich jak pole wyboru, wyświetlane są wszystkie wartości.

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

string

Lista ciągów znaków wpisanych 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 uniksowej w milisekundach.

hasDate

boolean

Czy dane wejściowe datetime zawierają datę kalendarzową.

hasTime

boolean

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 uniksowej 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 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 do Google Chat.