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)
  },
  "appCommandMetadata": {
    object (AppCommandMetadata)
  }
}
필드
type

enum (EventType)

Chat 앱과의 사용자 상호작용 유형입니다(예: MESSAGE 또는 ADDED_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_SPACE, CARD_CLICKED, MESSAGE 상호작용 이벤트의 경우 상호작용 이벤트를 트리거한 메시지(해당하는 경우)입니다.

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 enum입니다. Chat 앱의 경우 항상 CHAT입니다.

platform

enum (Platform)

이벤트가 발생한 플랫폼을 나타내는 플랫폼 enum (WEB, IOS 또는 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)

사용자가 위젯에 입력하는 값을 나타내는 문자열 목록입니다.

위젯이 하나의 값만 허용하는 경우(예: TextInput 위젯) 목록에는 문자열 객체가 하나 포함됩니다. 체크박스의 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입니다.

AppCommandMetadata

앱 명령어와 연결된 메타데이터입니다. 앱 명령어는 사용자가 Chat 앱을 호출하고 상호작용하는 방법입니다. 앱 명령어는 작성 상자에 입력된 슬래시 명령어이거나 통합 메뉴에서 직접 선택한 항목일 수 있습니다.

JSON 표현
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
필드
appCommandId

integer

지정된 앱 상호작용의 명령어 ID입니다.

appCommandType

enum (AppCommandType)

앱 명령어의 유형입니다.