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 の外部で認証フローまたは設定フローを完了した後にユーザーをリダイレクトする URL。詳細については、Chat アプリを他のサービスやツールに接続するをご覧ください。

isDialogEvent

boolean

CARD_CLICKEDMESSAGE のインタラクション イベントの場合、ユーザーがダイアログを操作しているのか、操作しようとしているのか。

dialogEventType

enum (DialogEventType)

受信したダイアログ操作イベントのタイプ。

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

[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)

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

ウィジェットが 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 です。

AppCommandMetadata

アプリコマンドに関連付けられたメタデータ。アプリコマンドは、ユーザーが Chat アプリを呼び出して操作する方法です。作成ボックスに入力するスラッシュ コマンドや、統合メニューから直接選択するアイテムなどがあります。

JSON 表現
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
フィールド
appCommandId

integer

特定のアプリ操作のコマンド ID。

appCommandType

enum (AppCommandType)

アプリコマンドのタイプ。