Event

Google Chat 應用程式互動事件,代表並包含使用者與 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)

代表使用者用戶端相關資訊,例如語言代碼、主機應用程式和平台。如果是即時通訊應用程式,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

採用 [ISO 639 語言代碼]-[ISO 3166 國家/地區代碼] 格式的完整 locale.displayName,例如「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。