Event

代表使用者與 Chat 應用程式互動情形的事件,並包含相關資料。如要設定 Chat 應用程式以接收互動事件,請參閱「接收並回應使用者互動」一文。

除了接收使用者互動的事件外,Chat 應用程式也可以收到有關聊天室異動的事件,例如新成員加入聊天室。如要瞭解聊天室事件,請參閱「使用 Google Chat 中的事件」。

JSON 表示法
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  }
}
欄位
type

enum (EventType)

使用者與 Chat 應用程式互動的類型,例如 MESSAGEADDED_TO_SPACE

eventTime

string (Timestamp format)

指示互動事件發生時間的時間戳記。

token

string

舊版 Chat 應用程式可用來驗證要求是否來自 Google 的密鑰值。而 Google 會隨機產生權杖,其值則保持不變。您可以在 Google Cloud 控制台的 Chat API 設定頁面取得、撤銷或重新產生權杖。

新版 Chat 應用程式不會使用這個欄位。但不會顯示在 API 回應和 Chat API 設定頁面中。

threadKey

string

為與互動事件相關的執行緒定義的 Chat 應用程式定義鍵。詳情請參閱 spaces.messages.thread.threadKey

message

object (Message)

針對 ADDED_TO_SPACECARD_CLICKEDMESSAGE 互動事件,也就是觸發互動事件的訊息 (如果有的話)。

user

object (User)

與 Chat 應用程式互動的使用者。

space

object (Space)

使用者與 Chat 應用程式互動的空間。

action

object (FormAction)

針對 CARD_CLICKED 互動事件,這是指使用者點選資訊卡或對話方塊時相關聯的表單動作資料。如需更多資訊,請參閱「讀取卡片上使用者輸入的表單資料」。

configCompleteRedirectUrl

string

針對 MESSAGE 互動事件,使用者在 Google Chat 以外完成授權或設定流程後,必須重新導向至的網址。詳情請參閱「將 Chat 應用程式連結至其他服務和工具」。

isDialogEvent

boolean

對於 CARD_CLICKEDMESSAGE 互動事件,表示使用者是否正在與對話方塊互動或即將與其互動。

dialogEventType

enum (DialogEventType)

收到的對話方塊互動事件類型。

common

object (CommonEventObject)

代表使用者用戶端的相關資訊,例如語言代碼、主機應用程式和平台。對於 Chat 應用程式,CommonEventObject 包含使用者與對話方塊互動時提交的資訊,例如卡片上輸入的資料。

CommonEventObject

代表使用者用戶端相關資訊,例如語言代碼、主機應用程式和平台。針對即時通訊應用程式,CommonEventObject 會包含使用者與資訊卡互動提交的資料,例如在對話方塊中輸入的資料。

JSON 表示法
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
欄位
userLocale

string

完整的 locale.displayName,格式為 [ISO 639 語言代碼]-[ISO 3166 國家/地區代碼],例如「en-US」。

hostApp

enum (HostApp)

hostApp 列舉,表示叫用外掛程式的應用程式。對於 Chat 應用程式,一律為 CHAT

platform

enum (Platform)

平台列舉,用於指出事件來源平台 (WEBIOSANDROID)。Chat 應用程式不支援此屬性。

timeZone

object (TimeZone)

時區 ID 和與世界標準時間 (UTC) 的偏移值。僅支援 CARD_CLICKEDSUBMIT_DIALOG 這兩種事件類型。

formInputs

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

地圖,其中包含使用者透過資訊卡或對話方塊在小工具中輸入的值。地圖索引鍵是指派給每個小工具的字串 ID,而值則代表小工具的輸入內容。

詳情請參閱「處理使用者輸入的資訊」。

parameters

map (key: string, value: string)

傳送至叫用函式的自訂參數。鍵和值都必須是字串。

invokedFunction

string

與小工具相關聯的叫用函式名稱。僅為 Chat 應用程式設定。

TimeZone

時區 ID 和與世界標準時間 (UTC) 的偏移值。僅支援 CARD_CLICKEDSUBMIT_DIALOG 事件類型。

JSON 表示法
{
  "id": string,
  "offset": integer
}
欄位
id

string

IANA TZ 時區資料庫代碼,例如「America/Toronto」。

offset

integer

從世界標準時間 (UTC) 算起,使用者時區偏移 (以毫秒為單位)。

輸入

使用者可在資訊卡或對話方塊中輸入的資料類型。輸入類型取決於小工具接受的值類型。

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.
}
欄位

聯集欄位 inputs

inputs 只能採用下列其中一種設定:

stringInputs

object (StringInputs)

字串清單,代表使用者在小工具中輸入的值。

如果小工具只接受一個值 (例如 TextInput 小工具),清單就會包含一個字串物件。如果小工具接受多個值 (例如核取方塊的 SelectionInput 小工具),則這份清單會列出使用者輸入或選取的各個值的字串物件。

dateTimeInput

object (DateTimeInput)

來自同時接受日期和時間的 DateTimePicker 小工具的日期和時間輸入值。

dateInput

object (DateInput)

來自只接受日期值的 DateTimePicker 小工具的日期輸入值。

timeInput

object (TimeInput)

DateTimePicker 小工具中只接受時間值的時間輸入值。

StringInputs

一般小工具的輸入參數。如果是單一值的小工具,則為單一值清單。如果是多值小工具 (例如核取方塊),則顯示所有值。

JSON 表示法
{
  "value": [
    string
  ]
}
欄位
value[]

string

使用者輸入的字串清單。

DateTimeInput

日期和時間輸入值。

JSON 表示法
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
欄位
msSinceEpoch

string (int64 format)

自 Epoch 紀元時間起的時間 (以毫秒為單位)。

hasDate

boolean

datetime 輸入內容是否包含日曆日期。

hasTime

boolean

datetime 輸入內容是否包含時間戳記。

DateInput

日期輸入值。

JSON 表示法
{
  "msSinceEpoch": string
}
欄位
msSinceEpoch

string (int64 format)

自 Epoch 紀元時間起算的時間,以毫秒為單位。

TimeInput

時間輸入值。

JSON 表示法
{
  "hours": integer,
  "minutes": integer
}
欄位
hours

integer

24 小時制的小時。

minutes

integer

整點過後的分鐘數。有效值為 0 至 59。