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)
  },
  "appCommandMetadata": {
    object (AppCommandMetadata)
  }
}
欄位
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)

收到的 dialog 互動事件類型。

common

object (CommonEventObject)

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

appCommandMetadata

object (AppCommandMetadata)

為應用程式指令填入資料,包括斜線指令和快速指令。

CommonEventObject

代表使用者用戶端的相關資訊,例如語言代碼、主機應用程式和平台。在 Chat 應用程式中,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 之間。

AppCommandMetadata

與應用程式指令相關的中繼資料。應用程式指令是使用者叫用及與 Chat 應用程式互動的方式。這些指令可以是輸入至撰寫方塊的斜線指令,或是直接從整合選單中選取的項目。

JSON 表示法
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
欄位
appCommandId

integer

指定應用程式互動的指令 ID。

appCommandType

enum (AppCommandType)

應用程式指令的類型。