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)

受信した dialog インタラクション イベントのタイプ。

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

毎時からの分数。有効な値は 0 ~ 59 です。