Event

ユーザーが Chat 用アプリとやり取りした際のデータが表され、そのデータが含まれる Google Chat 用アプリのインタラクション イベント。インタラクション イベントを受け取るように Chat 用アプリを設定するには、ユーザー インタラクションを受け取って応答するをご覧ください。

Chat 用アプリは、ユーザー操作からのイベントを受信するだけでなく、スペースへの新しいメンバーの追加など、スペースの変更に関するイベントも受信できます。スペース イベントについては、Google Chat のイベントを操作するをご覧ください。

注: このイベントは Chat interaction events にのみ使用されます。Chat 用アプリが Google Workspace アドオンとしてビルドされている場合は、アドオンのドキュメントの Chat イベント オブジェクトをご覧ください。

JSON 表現
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "thread": {
    object (Thread)
  },
  "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 用アプリとやり取りしたユーザー。

thread

object (Thread)

ユーザーが Chat 用アプリとやり取りしたスレッド。これは、新しく送信されたメッセージによって作成された新しいスレッドの場合もあります。このフィールドは、インタラクション イベントが特定のメッセージまたはスレッドに関連付けられている場合に入力されます。

space

object (Space)

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

action

object (FormAction)

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

configCompleteRedirectUrl

string

この URL は、MESSAGEADDED_TO_SPACEAPP_COMMAND のインタラクション イベントで入力されます。Google Chat の外部で認証フローまたは構成フローを完了した後、ユーザーはこの URL にリダイレクトされ、認証フローまたは構成フローが成功したことが Google Chat に通知されます。詳しくは、Chat 用アプリを他のサービスやツールに接続するをご覧ください。

isDialogEvent

boolean

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

dialogEventType

enum (DialogEventType)

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

common

object (CommonEventObject)

ユーザーのクライアントに関する情報(言語 / 地域、ホストアプリ、プラットフォームなど)を表します。Chat 用アプリの場合、CommonEventObject には、カードに入力されたデータなど、ダイアログを操作するユーザーが送信した情報が含まれます。

appCommandMetadata

object (AppCommandMetadata)

Chat 用アプリのコマンドに関するメタデータ。

CommonEventObject

共通イベント オブジェクトは、ユーザーのクライアントからアドオンに一般的なホストに依存しない情報を伝達する、イベント オブジェクト全体の一部です。この情報には、ユーザーの言語 / 地域、ホストアプリ、プラットフォームなどの詳細が含まれます。

アドオンは、ホームページとコンテキスト トリガーに加えて、ユーザーがウィジェットを操作したときにイベント オブジェクトを構築してアクション コールバック関数に渡します。アドオンのコールバック関数は、共通イベント オブジェクトをクエリして、ユーザーのクライアントで開いているウィジェットの内容を特定できます。たとえば、アドオンは、ユーザーが eventObject.commentEventObject.formInputs オブジェクトの TextInput ウィジェットに入力したテキストを見つけることができます。

Chat 用アプリの場合、ユーザーがウィジェットを操作したときに呼び出した関数の名前。

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 国/地域コードの形式で指定します。例: en-US

このフィールドを有効にするには、アドオンのマニフェストで addOns.common.useLocaleFromApptrue に設定する必要があります。アドオンのスコープ リストには https://www.googleapis.com/auth/script.locale も含める必要があります。詳しくは、ユーザーの言語 / 地域とタイムゾーンへのアクセスをご覧ください。

hostApp

enum (HostApp)

イベント オブジェクトが生成されたときにアドオンがアクティブになっているホストアプリを示します。有効な値は次のとおりです。

  • GMAIL
  • CALENDAR
  • DRIVE
  • DOCS
  • SHEETS
  • SLIDES
  • CHAT
platform

enum (Platform)

イベントの発生元プラットフォームを示すプラットフォーム列挙型(WEBIOSANDROID)。Chat 用アプリではサポートされていません。

timeZone

object (TimeZone)

デフォルトでは無効になっています。タイムゾーン ID と協定世界時(UTC)からのオフセット。このフィールドを有効にするには、アドオンのマニフェストで addOns.common.useLocaleFromApptrue に設定する必要があります。アドオンのスコープ リストには https://www.googleapis.com/auth/script.locale も含める必要があります。詳しくは、ユーザーの言語 / 地域とタイムゾーンへのアクセスをご覧ください。

イベントタイプ CARD_CLICKEDSUBMIT_DIALOG でのみサポートされます。

formInputs

map (key: string, value: object (Inputs))

表示されているカード内のウィジェットの現在の値を含むマップ。マップキーは、各ウィジェットに割り当てられた文字列 ID です。

マップ値オブジェクトの構造は、ウィジェットのタイプによって異なります。

: 次の例は、Apps Script の V8 ランタイム用にフォーマットされています。Rhino ランタイムを使用している場合は、値の後に [""] を追加する必要があります。たとえば、e.commonEventObject.formInputs.employeeName.stringInputs.value[0] ではなく、イベント オブジェクトを e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0] としてフォーマットします。Apps Script のランタイムの詳細については、V8 ランタイムの概要をご覧ください。

  • 単一値ウィジェット(テキスト ボックスなど): 文字列のリスト(要素は 1 つのみ)。

: ID が employeeName のテキスト入力ウィジェットの場合、e.commonEventObject.formInputs.employeeName.stringInputs.value[0] を使用してテキスト入力値にアクセスします。

  • 複数値ウィジェット(チェックボックス グループなど): 文字列のリスト。

: ID が participants の複数値ウィジェットの場合、e.commonEventObject.formInputs.participants.stringInputs.value を使用して値の配列にアクセスします。

: ID が myDTPicker のピッカーの場合、e.commonEventObject.formInputs.myDTPicker.dateTimeInput を使用して DateTimeInput オブジェクトにアクセスします。

: ID が myDatePicker のピッカーの場合、e.commonEventObject.formInputs.myDatePicker.dateInput を使用して DateInput オブジェクトにアクセスします。

: ID が myTimePicker のピッカーの場合、e.commonEventObject.formInputs.myTimePicker.timeInput を使用して TimeInput オブジェクトにアクセスします。

parameters

map (key: string, value: string)

actionParameters または Action.setParameters() を使用してアクションに指定する追加のパラメータ。

デベロッパー プレビュー: Google Chat を拡張するアドオンの場合、ユーザーが複数選択メニューに入力した内容に基づいて項目を提案するには、"autocomplete_widget_query" キー(event.commonEventObject.parameters["autocomplete_widget_query"])の値を使用します。この値を使用してデータベースをクエリし、ユーザーが入力した内容に基づいて選択可能な項目を提案できます。詳しくは、Google Chat ユーザーから情報を収集して処理するをご覧ください。

invokedFunction

string

呼び出す関数の名前。

このフィールドは、Google Chat を拡張する Google Workspace アドオンでは入力されません。代わりに、識別子などの関数データを受信するには、Chat を拡張するアドオンで parameters フィールドを使用する必要があります。Chat 用アプリのインタラクティブなインターフェースを構築するをご覧ください。

タイムゾーン

タイムゾーン ID と協定世界時(UTC)からのオフセット。イベントタイプ CARD_CLICKEDSUBMIT_DIALOG でのみサポートされます。

JSON 表現
{
  "id": string,
  "offset": integer
}
フィールド
id

string

「America/Toronto」などの IANA TZ タイムゾーン データベース コード。

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

Chat API 構成で指定されたコマンドの ID。

appCommandType

enum (AppCommandType)

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