Event

Chat 用アプリでのユーザーの操作に関するデータを表し、それを含む Google 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 の外部で認可フローまたは構成フローを完了したらリダイレクトする必要がある URL。詳細については、Chat アプリを他のサービスやツールに接続するをご覧ください。

isDialogEvent

boolean

CARD_CLICKED および MESSAGE 操作イベントの場合、ユーザーがダイアログを操作しているか、操作しようとしているか。

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)

イベントが発生したプラットフォームを示すプラットフォーム列挙型(WEBIOS、または ANDROID)。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)

ユーザーがウィジェットに入力する値を表す文字列のリスト。

ウィジェットが 1 つの値のみを受け入れる場合(TextInput ウィジェットなど)は、リストに 1 つの文字列オブジェクトが含まれます。ウィジェットで複数の値を受け入れる場合(チェックボックスの 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)

エポック時間からの経過時間(ミリ秒単位)。

hasDate

boolean

datetime 入力にカレンダー日付が含まれているかどうか。

hasTime

boolean

datetime 入力にタイムスタンプが含まれているかどうか。

DateInput

日付の入力値。

JSON 表現
{
  "msSinceEpoch": string
}
フィールド
msSinceEpoch

string (int64 format)

エポック時間からの経過時間(ミリ秒単位)。

TimeInput

時刻の入力値。

JSON 表現
{
  "hours": integer,
  "minutes": integer
}
フィールド
hours

integer

24 時間制の時刻。

minutes

integer

1 時間後の分数。有効な値は 0~59 です。