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)

操作イベントをトリガーしたメッセージ(該当する場合)。

user

object (User)

Chat アプリを操作したユーザー。

space

object (Space)

ユーザーが Chat アプリを操作したスペース。

action

object (FormAction)

CARD_CLICKED インタラクション イベントの場合、ユーザーがカードまたはダイアログをクリックしたときに関連付けられたフォーム アクション データ。詳しくは、ユーザーがカードで入力したフォームデータを読み取るをご覧ください。

configCompleteRedirectUrl

string

Google Chat の外部で認可フローまたは構成フローを完了したら、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 です。