이벤트 객체

이 페이지에서는 Google Workspace 부가기능 이벤트 객체의 구조를 설명합니다.

이벤트 객체는 사용자가 부가기능과 상호작용할 때 트리거 또는 콜백 함수에 매개변수로 전달되도록 자동으로 구성되는 JSON 구조입니다. 이벤트 객체는 호스트 앱과 현재 컨텍스트에 관한 클라이언트 측 정보를 부가기능의 서버 측 콜백 함수로 전달합니다.

Google Workspace 부가기능은 다음 위치에서 이벤트 객체를 사용합니다.

  • 홈페이지 트리거. 정의한 모든 homepageTrigger 함수에는 홈페이지 트리거 함수가 실행될 때 이벤트 객체가 자동으로 전달됩니다. 홈페이지 트리거 함수에서 이 객체를 사용하여 활성 호스트 앱, 클라이언트의 플랫폼, 사용자 언어 및 기타 정보를 식별할 수 있습니다.

    홈페이지 트리거가 실행될 때 생성되는 이벤트 객체에는 다른 두 경우에 포함된 필드가 모두 포함되지 않습니다. 위젯 및 컨텍스트 정보와 관련된 필드가 생략됩니다.

  • 문맥 트리거. 각 호스트 애플리케이션은 사용자가 특정 컨텍스트를 입력할 때 트리거되는 다양한 컨텍스트 트리거를 제공합니다. 예를 들면 다음과 같습니다.

    컨텍스트 트리거가 실행되면 호스트 애플리케이션은 애드온 매니페스트에 나열된 해당 runFunction를 호출하여 이벤트 객체를 매개변수로 전달합니다. 컨텍스트 트리거가 실행될 때 생성되는 이벤트 객체에는 홈페이지 트리거 이벤트 객체에 포함된 모든 필드와 컨텍스트 정보를 포함하는 필드가 포함됩니다.

  • 위젯 작업 이벤트 객체는 Gmail 부가기능에서 사용하는 것과 동일한 작업 모델을 사용하여 위젯 상호작용을 제공하는 데도 사용됩니다. Google Workspace 부가기능은 동일한 위젯 핸들러 함수, Action 객체, 작업 응답을 모두 사용합니다. 하지만 Google Workspace 부가기능에서 작업 이벤트 객체에는 콜백 함수가 작동할 수 있는 정보가 훨씬 더 많이 포함됩니다.

    위젯 작업의 결과로 생성된 이벤트 객체에는 컨텍스트 트리거 이벤트 객체에 포함된 모든 필드와 위젯 정보가 포함된 필드가 포함됩니다.

  • 링크 미리보기 트리거 Google Docs, Sheets, Slides에서는 특정 URL 패턴을 기반으로 서드 파티 서비스의 링크 미리보기를 구성할 수 있습니다. 사용자가 패턴을 충족하는 링크와 상호작용하면 linkPreviewTriggers이 실행되고 링크가 포함된 이벤트 객체가 트리거의 콜백 함수에 전달됩니다. 부가기능은 이 이벤트 객체를 사용하여 호스트 애플리케이션 내 링크에 관한 정보를 표시하는 스마트 칩과 카드를 구성할 수 있습니다. 사용자가 미리보기 카드 및 콘텐츠와 상호작용할 수 있도록 위젯 작업을 빌드할 수도 있습니다.

  • Google Chat 앱 트리거 Google Chat에서 부가기능은 사용자에게 Chat 앱으로 표시되며, 사용자는 스페이스에 추가하고, 메시지를 보내고, 슬래시 명령어를 사용하는 등의 방법으로 부가기능과 상호작용할 수 있습니다. 양방향 기능을 빌드하려면 다양한 Chat 앱 트리거를 설정하고 사용합니다. 각 트리거는 각 유형의 상호작용을 처리하거나 이에 응답하는 데 도움이 되는 서로 다른 이벤트 객체 페이로드를 전송합니다.

이벤트 객체 구조

다음 표에서는 Google Workspace 부가기능 이벤트 객체의 최상위 구조를 설명합니다. 이벤트 객체 구조에는 호스트와 무관한 정보를 위한 commonEventObject 최상위 필드가 포함됩니다. 각 이벤트 객체에는 활성 호스트 앱에 따라 결정되는 호스트별 최상위 필드(gmailEventObject, calendarEventObject 또는 driveEventObject) 중 하나가 있을 수도 있습니다.

이전 버전과의 호환성을 위해 Google Workspace 부가기능 이벤트 객체에는 Gmail 부가기능 작업 이벤트 객체에 사용된 모든 원래 필드도 포함됩니다. 이러한 필드는 아래 표의 '원본 Gmail 부가기능 필드'에 나열되어 있으며, 이러한 필드의 정보는 새 객체 구조에 재현됩니다.

이벤트 객체
eventObject.commonEventObject Common fields object
호스트 애플리케이션과 관계없이 모든 이벤트 객체에 공통된 정보를 포함하는 객체입니다.
eventObject.calendar Calendar event object
호출 호스트가 Google Calendar인 경우에만 표시됩니다. 캘린더 및 일정 정보가 포함된 객체입니다.
eventObject.chat Chat event object
호출 호스트가 Google Chat인 경우에만 표시됩니다. Chat 정보가 포함된 객체입니다.
eventObject.drive Drive event object
호출 호스트가 Google Drive인 경우에만 표시됩니다. Drive 정보가 포함된 객체입니다.
eventObject.gmail Gmail event object
호출 호스트가 Gmail인 경우에만 존재합니다. Gmail 정보가 포함된 객체입니다.
eventObject.docs Docs event object
호출 호스트가 Google 문서인 경우에만 표시됩니다. Docs 정보가 포함된 객체입니다.
eventObject.sheets Sheets event object
호출 호스트가 Google Sheets인 경우에만 표시됩니다. Sheets 정보가 포함된 객체입니다.
eventObject.slides Slides event object
호출 호스트가 Google Slides인 경우에만 표시됩니다. Slides 정보가 포함된 객체입니다.
원본 Gmail 부가기능 필드
eventObject.messageMetadata.accessToken string
지원 중단되었습니다. 액세스 토큰 이를 사용하여 임시 Gmail 부가기능 범위를 사용하여 사용자 데이터에 대한 액세스를 사용 설정할 수 있습니다.

Google Workspace 부가기능의 경우 eventObject.gmail.accessToken 필드에서 이 정보를 확인할 수 있습니다.

eventObject.messageMetadata.messageId string
지원 중단되었습니다. Gmail UI에서 열린 스레드의 메시지 ID입니다.

Google Workspace 부가기능의 경우 eventObject.gmail.messageId 필드에서 이 정보를 확인할 수 있습니다.

eventObject.clientPlatform string
지원 중단되었습니다. 이벤트가 발생한 위치 (웹, iOS 또는 Android)를 나타냅니다.

Google Workspace 부가기능의 경우 eventObject.commonEventObject.platform 필드에서 이 정보를 확인할 수 있습니다.

eventObject.formInput object
지원 중단되었습니다. 카드에 있는 모든 양식 위젯의 현재 값의 맵입니다. 위젯당 하나의 값으로 제한됩니다. 키는 위젯과 연결된 문자열 ID이고 값은 문자열입니다. 이벤트 객체는 텍스트 입력 및 스위치와 같이 예상되는 단일 값이 있는 여러 위젯에서 데이터를 읽어야 할 때 편의를 위해 formInput를 제공합니다. 체크박스와 같은 다중 값 위젯의 경우 formInputs에서 각 값을 읽을 수 있습니다.

Google Workspace 부가기능의 경우 이 정보는 eventObject.commonEventObject.formInputs 필드에서 확인할 수 있습니다. 단일 값이 있는 위젯은 단일 요소가 있는 배열로 표시됩니다.

eventObject.formInputs object
지원 중단되었습니다. 카드에 있는 위젯의 현재 값 맵으로, 문자열 목록으로 표시됩니다. 키는 위젯과 연결된 문자열 ID입니다. 단일 값 위젯의 경우 값은 단일 요소 배열로 표시됩니다. 체크박스 그룹과 같은 다중 값 위젯의 경우 모든 값이 목록에 표시됩니다.

Google Workspace 부가기능의 경우 eventObject.commonEventObject.formInputs 필드에서 이 정보를 확인할 수 있습니다.

eventObject.parameters object
지원 중단되었습니다. Action.setParameters()를 사용하여 Action에 제공하는 추가 매개변수의 맵입니다. 맵 키와 값은 문자열입니다.

Google Workspace 부가기능의 경우 eventObject.commonEventObject.parameters 필드에서 이 정보를 확인할 수 있습니다.

eventObject.userCountry string
지원 중단되었으며 기본적으로 사용 중지됨 사용자의 국가 또는 지역을 나타내는 두 글자 코드입니다. 숫자 UN M49 국가 코드일 수도 있습니다.

Google Workspace 부가기능의 경우 이 정보는 eventObject.commonEventObject.userLocale 필드에서 확인할 수 있습니다.

eventObject.userLocale string
지원 중단되었으며 기본적으로 사용 중지됨 사용자의 언어를 나타내는 두 글자 ISO 639 코드입니다. 자세한 내용은 사용자 언어 및 시간대에 액세스를 참고하세요.

Google Workspace 부가기능의 경우 이 정보는 eventObject.commonEventObject.userLocale 필드에서 확인할 수 있습니다.

eventObject.userTimezone.id string
지원 중단되었으며 기본적으로 사용 중지됨 사용자 시간대의 시간대 식별자입니다. 예를 들면 America/New_York, Europe/Vienna, Asia/Seoul이 있습니다. 자세한 내용은 사용자 언어 및 시간대 액세스를 참고하세요.

Google Workspace 부가기능의 경우 이 정보는 eventObject.commonEventObject.timeZone.id 필드에서 확인할 수 있습니다.

eventObject.userTimezone.offset string
지원 중단되었으며 기본적으로 사용 중지됨 사용자 시간대의 협정 세계시(UTC)로부터의 시간 오프셋입니다(밀리초 단위). 자세한 내용은 사용자 언어 및 시간대 액세스를 참고하세요.

Google Workspace 부가기능의 경우 이 정보는 eventObject.commonEventObject.timeZone.offset 필드에서 확인할 수 있습니다.

일반 이벤트 객체

일반 이벤트 객체는 사용자의 클라이언트에서 애드온으로 일반적인 호스트 독립 정보를 전달하는 전체 이벤트 객체의 부분입니다. 이 정보에는 사용자의 언어, 호스트 앱, 플랫폼과 같은 세부정보가 포함됩니다.

홈페이지 및 컨텍스트 트리거 외에도 사용자가 위젯과 상호작용할 때 애드온은 이벤트 객체를 구성하고 작업 콜백 함수에 전달합니다. 애드온의 콜백 함수는 공통 이벤트 객체를 쿼리하여 사용자의 클라이언트에서 열린 위젯의 콘텐츠를 확인할 수 있습니다. 예를 들어 부가기능은 eventObject.commentEventObject.formInputs 객체에서 사용자가 TextInput 위젯에 입력한 텍스트를 찾을 수 있습니다.

일반 이벤트 객체 필드
commonEventObject.platform string
이벤트가 발생한 위치를 나타냅니다 (`WEB`, `IOS`, `ANDROID`).
commonEventObject.formInputs object
표시된 카드의 위젯 현재 값을 포함하는 맵입니다. 지도 키는 각 위젯에 할당된 문자열 ID입니다.

지도 값 객체의 구조는 위젯 유형에 따라 다릅니다.

  • 단일 값 위젯 (예: 텍스트 상자): 문자열 목록(요소가 하나만 있음)

    : ID가 employeeName인 텍스트 입력 위젯의 경우 e.commonEventObject.formInputs.employeeName.stringInputs.value[0]를 사용하여 텍스트 입력 값에 액세스합니다.

  • 다중 값 위젯 (예: 체크박스 그룹): 문자열 목록입니다.

    : ID가 participants인 다중 값 위젯의 경우 e.commonEventObject.formInputs.participants.stringInputs.value를 사용하여 값 배열에 액세스합니다.

  • A date-time picker: DateTimeInput object

    : ID가 myDTPicker인 선택기의 경우 e.commonEventObject.formInputs.myDTPicker.dateTimeInput를 사용하여 DateTimeInput 객체에 액세스합니다.

  • A date-only picker: DateInput object

    : ID가 myDatePicker인 선택기의 경우 e.commonEventObject.formInputs.myDatePicker.dateInput를 사용하여 DateInput 객체에 액세스합니다.

  • A time-only picker: TimeInput object

    : ID가 myTimePicker인 선택기의 경우 e.commonEventObject.formInputs.myTimePicker.timeInput를 사용하여 TimeInput 객체에 액세스합니다.

commonEventObject.hostApp string
이벤트 객체가 생성될 때 부가기능이 활성화된 호스트 앱을 나타냅니다. 가능한 값은 다음과 같습니다.
  • GMAIL
  • CALENDAR
  • DRIVE
  • DOCS
  • SHEETS
  • SLIDES
commonEventObject.parameters object
actionParameters 또는 Action.setParameters()를 사용하여 작업에 제공하는 추가 매개변수입니다.

개발자 프리뷰: Google Chat을 확장하는 부가기능의 경우 사용자가 다중 선택 메뉴에 입력하는 내용을 기반으로 항목을 제안하려면 "autocomplete_widget_query" 키(event.commonEventObject.parameters["autocomplete_widget_query"])의 값을 사용하세요. 이 값을 사용하여 데이터베이스를 쿼리하고 사용자가 입력할 때 선택 가능한 항목을 제안할 수 있습니다. 자세한 내용은 Google Chat 사용자로부터 정보 수집 및 처리하기를 참고하세요.

commonEventObject.userLocale string
기본적으로 사용 중지됨 ISO 639 언어 코드-ISO 3166 국가/지역 코드 형식의 사용자의 언어 및 국가/지역 식별자입니다. 예를 들면 en-US입니다.

이 필드를 사용 설정하려면 부가기능의 매니페스트에서 addOns.common.useLocaleFromApptrue로 설정해야 합니다. 애드온의 범위 목록에도 https://www.googleapis.com/auth/script.locale가 포함되어야 합니다. 자세한 내용은 사용자 언어 및 시간대에 액세스를 참고하세요.

commonEventObject.timeZone string
기본적으로 사용 중지됨 시간대 ID 및 오프셋입니다. 이 필드를 사용 설정하려면 부가기능의 매니페스트에서 addOns.common.useLocaleFromApptrue로 설정해야 합니다. 애드온의 범위 목록에도 https://www.googleapis.com/auth/script.locale가 포함되어야 합니다. 자세한 내용은 사용자 언어 및 시간대에 액세스를 참고하세요.
commonEventObject.timeZone.id string
사용자의 시간대의 시간대 식별자입니다. 예를 들면 America/New_York, Europe/Vienna, Asia/Seoul이 있습니다. 이 필드를 사용 설정하려면 부가기능의 매니페스트에서 addOns.common.useLocaleFromApptrue로 설정해야 합니다. 애드온의 범위 목록에도 https://www.googleapis.com/auth/script.locale가 포함되어야 합니다. 자세한 내용은 사용자 언어 및 시간대 액세스를 참고하세요.
commonEventObject.timeZone.offset string
사용자 시간대의 협정 세계시(UTC)로부터의 시간 오프셋입니다(밀리초 단위). 자세한 내용은 사용자 언어 및 시간대 액세스를 참고하세요.

날짜-시간 선택기 양식 입력

작업 콜백 함수commonEventObject.formInputs 필드에서 현재 위젯 값을 수신할 수 있습니다. 여기에는 날짜 또는 시간 선택기 위젯에서 사용자가 선택한 날짜 또는 시간 값이 포함됩니다. 하지만 정보의 구조는 위젯이 날짜 및 시간 선택기, 날짜 전용 선택기 또는 시간 전용 선택기로 구성되었는지에 따라 다릅니다. 구조적 차이는 다음 표에 설명되어 있습니다.

DateTimeInput 객체
dateTimeInput.hasDate boolean
true(입력 날짜 시간에 날짜가 포함된 경우) 또는 false(시간만 포함된 경우)
dateTimeInput.hasTime 입력 날짜 시간에 시간이 포함된 경우 boolean
true, false에 날짜만 포함된 경우
dateTimeInput.msSinceEpoch string
사용자가 선택한 시간입니다 (단위: 1970년 1월 1일 00:00:00 UTC 이후 경과된 밀리초).
DateInput 객체
dateInput.msSinceEpoch string
사용자가 선택한 시간입니다 (단위: 1970년 1월 1일 00:00:00 UTC 이후 경과된 밀리초).
TimeInput 객체
timeInput.hours number
사용자가 선택한 시간 번호입니다.
timeInput.minutes number
사용자가 선택한 분 번호입니다.

채팅 이벤트 객체

Chat 이벤트 객체는 Chat 앱과의 사용자 상호작용에 관한 정보를 전달하는 전체 이벤트 객체의 일부입니다. 부가기능이 Google Chat을 확장하는 경우에만 이벤트 객체에 표시됩니다.

채팅
chat.user object (User)
Chat 앱과 상호작용한 Chat 사용자입니다.
chat.space object (Space)
사용자가 Chat 앱과 상호작용한 Chat 스페이스입니다.
chat.eventTime

string (Timestamp format)

상호작용이 발생한 시간입니다.

통합 필드 payload.

payload는 다음 중 하나여야 합니다.

chat.messagePayload

object (MessagePayload)

Chat 앱이 메시지 트리거에서 수신하는 페이로드입니다.

chat.addedToSpacePayload

object (AddedToSpacePayload)

Chat 앱이 스페이스에 추가됨 트리거에서 수신하는 페이로드입니다.

chat.removedFromSpacePayload

object (RemovedFromSpacePayload)

Chat 앱이 스페이스에서 삭제됨 트리거에서 수신하는 페이로드입니다.

chat.buttonClickedPayload

object (ButtonClickedPayload)

사용자가 메시지 또는 카드에서 버튼을 클릭할 때 채팅 앱이 수신하는 페이로드입니다. 사용자가 버튼을 클릭하여 정보를 제출하면 commonEventObject.formInputs 객체에 사용자로부터 수집된 값이 포함됩니다. 자세한 내용은 Google Chat 사용자로부터 정보 수집하기를 참고하세요.

chat.widgetUpdatedPayload

object (WidgetUpdatedPayload)

사용자가 selectionInput 위젯의 다중 선택 메뉴에 텍스트를 입력할 때 채팅 앱이 수신하는 페이로드입니다. 채팅 앱은 이 이벤트 객체를 사용하여 동적 데이터 소스의 추천 항목을 채울 수 있습니다. 예를 들어 외부 데이터 소스에서 지원 케이스를 채우기 위해 채팅 앱은 사용자가 메뉴에 입력한 내용을 기반으로 데이터 소스를 쿼리한 다음 일치하는 지원 케이스를 선택 가능한 항목으로 반환할 수 있습니다.

CommonEventObject.parameters['autocomplete_widget_query'] 객체에는 사용자가 메뉴에 입력하는 문자열 값이 포함됩니다.

chat.appCommandPayload

object (AppCommandPayload)

사용자가 채팅 앱의 명령어를 사용할 때 채팅 앱이 수신하는 페이로드입니다.

페이로드

채팅 앱 상호작용 유형에 따라 이벤트에는 하나 이상의 Chat API 리소스가 포함된 페이로드가 포함됩니다.

메시지 페이로드
MessagePayload
chat.messagePayload.message object (Message)
이벤트를 트리거한 Chat 메시지입니다.
chat.messagePayload.space object (Space)
사용자가 Chat 앱을 호출한 메시지를 보낸 Chat 스페이스입니다.
chat.messagePayload.configCompleteRedirectUri string
사용자가 Google Chat 외부에서 승인 또는 구성 흐름을 완료한 후 Chat 앱이 사용자를 리디렉션해야 하는 URL입니다. 자세한 내용은 Google Workspace 부가기능을 서드 파티 서비스에 연결하기를 참고하세요.

스페이스 페이로드에 추가됨
AddedToSpacePayload
chat.addedToSpacePayload.space object (Space)
사용자가 Chat 앱을 추가하거나 설치한 Chat 스페이스입니다.

관리자가 Chat 앱을 설치하면 space.adminInstalled 필드가 true로 설정됩니다.

chat.addedToSpacePayload.interactionAdd boolean
사용자가 메시지를 사용하여 스페이스에 Chat 앱을 추가하는지 여부입니다. 예를 들어 채팅 앱을 @멘션하거나 명령어를 사용합니다. true인 경우 Chat은 메시지에 관한 정보가 포함된 messagePayload이 있는 다른 이벤트 객체를 보냅니다.
chat.addedToSpacePayload.configCompleteRedirectUri string
사용자가 Google Chat 외부에서 승인 또는 구성 흐름을 완료한 후 Chat 앱이 사용자를 리디렉션해야 하는 URL입니다. 자세한 내용은 Google Workspace 부가기능을 서드 파티 서비스에 연결하기를 참고하세요.

스페이스 페이로드에서 삭제됨
RemovedFromSpacePayload
chat.removedFromSpacePayload.space object (Space)
사용자가 채팅 앱을 삭제하거나 제거한 채팅 스페이스입니다.

관리자가 Chat 앱을 제거하면 space.adminInstalled 필드가 false로 설정됩니다.

버튼 클릭 페이로드
ButtonClickedPayload
chat.buttonClickedPayload.message object (Message)
사용자가 클릭한 버튼이 포함된 채팅 메시지입니다.
chat.buttonClickedPayload.space object (Space)
사용자가 Chat 앱 메시지에서 버튼을 클릭한 Chat 스페이스입니다.
chat.buttonClickedPayload.isDialogEvent boolean
사용자가 버튼을 클릭하여 대화상자와 상호작용했는지 여부입니다.
chat.buttonClickedPayload.dialogEventType enum (DialogEventType)
isDialogEventtrue인 경우 대화의 상호작용 유형입니다.

열거형 DialogEventType

dialogEventType 값은 다음 중 하나여야 합니다.

TYPE_UNSPECIFIED 기본값 지정되지 않음.
REQUEST_DIALOG 사용자가 대화상자를 요청합니다. 예를 들어 명령어를 사용하거나 메시지에서 버튼을 클릭합니다.
SUBMIT_DIALOG 사용자가 대화상자 내에서 대화형 요소를 클릭합니다. 예를 들어 사용자가 대화상자에서 정보를 입력하고 버튼을 클릭하여 정보를 제출합니다.

위젯 업데이트 페이로드
WidgetUpdatedPayload
chat.widgetUpdatedPayload.space object (Space)
상호작용이 발생한 Chat 스페이스입니다.

앱 명령어 페이로드
AppCommandPayload
chat.appCommandPayload.appCommandMetadata object (AppCommandMetadata)
사용자가 사용한 명령어와 명령어를 트리거한 방식에 관한 메타데이터입니다.
chat.appCommandPayload.space object (Space)
사용자가 명령어를 사용한 Chat 공간입니다.
chat.appCommandPayload.thread object (Thread)
상호작용이 스레드에서 발생한 경우 사용자가 명령어를 사용한 Chat 스레드입니다.
chat.appCommandPayload.message object (Message)
슬래시 명령어의 경우 슬래시 명령어가 포함된 메시지입니다.
chat.appCommandPayload.configCompleteRedirectUri string
명령에 승인 또는 구성이 필요한 경우 Google Chat 외부에서 프로세스를 완료한 후 사용자를 리디렉션할 URL입니다.
chat.appCommandPayload.isDialogEvent boolean
명령어가 대화상자를 여는지 여부입니다.
chat.appCommandPayload.dialogEventType enum (DialogEventType)
대화상자와의 상호작용 유형입니다.

열거형 DialogEventType

dialogEventType 값은 다음 중 하나여야 합니다.

TYPE_UNSPECIFIED 기본값 지정되지 않음.
REQUEST_DIALOG 사용자가 대화상자를 요청합니다. 예를 들어 명령어를 사용하거나 메시지에서 버튼을 클릭합니다.
SUBMIT_DIALOG 사용자가 대화상자 내에서 대화형 요소를 클릭합니다. 예를 들어 사용자가 대화상자에서 정보를 입력하고 버튼을 클릭하여 정보를 제출합니다.
앱 명령어 메타데이터
AppCommandMetadata
chat.appCommandPayload.appCommandMetadata.appCommandId

string (int64 format)

명령어 ID입니다.

chat.appCommandPayload.appCommandMetadata.appCommandType enum (AppCommandType)
명령어 유형입니다.

열거형 AppCommandType

AppCommandType 값은 다음 중 하나여야 합니다.

APP_COMMAND_TYPE_UNSPECIFIED 기본값 지정되지 않음.
SLASH_COMMAND 사용자는 슬래시 /로 시작하는 메시지를 보내 명령어를 사용합니다.
QUICK_COMMAND 사용자가 메시지 답장 영역의 채팅 메뉴에서 명령어를 선택합니다.

캘린더 일정 객체

Calendar event 객체는 사용자의 캘린더 및 캘린더 일정에 관한 정보를 전달하는 전체 이벤트 객체의 부분입니다. 부가기능이 Google Calendar를 확장하는 경우에만 일정 객체에 표시됩니다.

다음 표에는 이벤트 객체의 calendarEventObject 필드에 있는 필드가 나열되어 있습니다. 사용자 생성 데이터로 표시된 필드는 데이터가 Calendar 일정에 있고 부가기능이 addOns.calendar.currentEventAccess 매니페스트 필드를 READ 또는 READ_WRITE로 설정한 경우에만 이벤트 객체에 표시됩니다.

캘린더 일정 객체
calendar.attendees[] list of attendee objects
사용자 생성 데이터. 캘린더 일정의 참석자 목록입니다.
calendar.calendarId string
캘린더 ID입니다.
calendar.capabilities object
사용자 생성 데이터. 이벤트 정보를 보거나 업데이트하는 부가기능의 기능을 설명하는 객체입니다.
calendar.capabilities.canAddAttendees boolean
사용자 생성 데이터. true 부가기능이 일정 참석자 목록에 새 참석자를 추가할 수 있는 경우 false 그렇지 않은 경우
calendar.capabilities.canSeeAttendees boolean
사용자 생성 데이터. true 부가기능이 일정 참석자 목록을 읽을 수 있는 경우, false 그렇지 않은 경우
calendar.capabilities.canSeeConferenceData boolean
사용자 생성 데이터. true: 부가기능이 일정 회의 데이터를 읽을 수 있는 경우 false: 그 외의 경우
calendar.capabilities.canSetConferenceData boolean
사용자 생성 데이터. true: 부가기능이 이벤트 회의 데이터를 업데이트할 수 있는 경우입니다. false: 그 외의 경우입니다.
calendar.capabilities.canAddAttachments boolean
사용자 생성 데이터. true: 부가기능이 일정에 새 첨부파일을 추가할 수 있는 경우 false: 그 외의 경우
calendar.conferenceData Conference data object
사용자 생성 데이터. 이 일정과 연결된 회의 데이터(예: Google Meet 회의 세부정보)를 나타내는 객체입니다.
calendar.id string
이벤트 ID입니다.
calendar.organizer object
이벤트의 주최자를 나타내는 객체입니다.
calendar.organizer.email string
이벤트 주최자의 이메일 주소입니다.
calendar.recurringEventId string
반복 일정의 ID입니다.

참석자

참석자 객체는 Google Calendar 일정의 개별 참석자에 관한 정보를 전달합니다. 이 정보는 데이터가 Calendar 일정에 있고 부가기능이 addOns.calendar.currentEventAccess 매니페스트 필드를 READ 또는 READ_WRITE로 설정한 경우에만 일정 객체에 표시됩니다.

참석자 객체
attendee.additionalGuests number
참석자가 데려온다고 표시한 추가 게스트 수입니다. 기본값은 0입니다.
attendee.comment string
참석자의 응답 댓글입니다(있는 경우).
attendee.displayName string
참석자의 표시 이름입니다.
attendee.email string
참석자의 이메일 주소입니다.
attendee.optional 이 참석자의 참석이 선택사항으로 표시된 경우 boolean
true, 그렇지 않은 경우 false
attendee.organizer boolean
true 참석자가 이 일정의 주최자인 경우
attendee.resource 참석자가 회의실이나 장비와 같은 리소스를 나타내는 경우 boolean
true, 그렇지 않은 경우 false
attendee.responseStatus string
참석자의 응답 상태입니다. 가능한 값은 다음과 같습니다.
  • accepted: 참석자가 일정 초대를 수락했습니다.
  • declined: 참석자가 일정 초대를 거부했습니다.
  • needsAction: 참석자가 일정 초대에 응답하지 않았습니다.
  • tentative: 참석자가 일정 초대를 미정 상태로 수락했습니다.
attendee.self boolean
true(이 참석자가 이 일정이 표시되는 캘린더를 나타내는 경우), false(그렇지 않은 경우)

회의 데이터

회의 데이터 객체는 Google Calendar 일정에 연결된 회의에 관한 정보를 전달합니다. Google Meet과 같은 Google 회의 솔루션 또는 서드 파티 회의일 수 있습니다. 이 정보는 데이터가 Calendar 일정에 있고 부가기능이 addOns.calendar.currentEventAccess 매니페스트 필드를 READ 또는 READ_WRITE로 설정한 경우에만 일정 객체에 표시됩니다.

회의 데이터 객체
conferenceData.conferenceId string
회의 ID입니다. 이 ID는 애플리케이션이 회의를 추적할 수 있도록 하기 위한 것입니다. 사용자에게 이 ID를 표시해서는 안 됩니다.
conferenceData.conferenceSolution object
행아웃 또는 Google Meet과 같은 회의 솔루션을 나타내는 객체입니다.
conferenceData.conferenceSolution.iconUri string
이 회의 솔루션을 나타내는 사용자에게 표시되는 아이콘의 URI입니다.
conferenceData.conferenceSolution.key object
이 이벤트의 회의 솔루션을 고유하게 식별하는 키입니다.
conferenceData.conferenceSolution.key.type string
회의 솔루션 유형입니다. 가능한 값은 다음과 같습니다.
  • eventHangout(http://hangouts.google.com)의 소비자용 행아웃
  • Google Workspace 사용자를 위한 기존 행아웃 (http://hangouts.google.com)의 eventNamedHangout
  • hangoutsMeet(http://meet.google.com)을 사용합니다.
conferenceData.conferenceSolution.name string
이 회의 솔루션의 사용자에게 표시되는 이름입니다 (현지화되지 않음).
conferenceData.entryPoints[] list of entry point objects
URL 또는 전화번호와 같은 회의 진입점 목록입니다.
conferenceData.notes string
사용자에게 표시할 회의에 관한 추가 메모 (예: 도메인 관리자의 안내 또는 법적 고지)입니다. HTML을 포함할 수 있습니다. 최대 길이는 2,048자(영문 기준)입니다.
conferenceData.parameters object
부가기능에서 사용할 정의된 매개변수 데이터의 맵이 포함된 객체입니다.
conferenceData.parameters.addOnParameters object
매개변수 문자열 키와 값의 맵입니다. 이러한 키와 값은 부가기능 개발자가 부가기능에서 사용할 특정 회의에 정보를 첨부하기 위해 정의합니다.

진입점

진입점 객체는 전화나 동영상과 같은 설정된 회의 액세스 수단에 관한 정보를 전달합니다. 이 정보는 데이터가 Calendar 일정에 있고 부가기능이 addOns.calendar.currentEventAccess 매니페스트 필드를 READ 또는 READ_WRITE로 설정한 경우에만 이벤트 객체에 표시됩니다.

진입점 객체
entryPoint.accessCode string
회의에 액세스하는 데 사용되는 액세스 코드입니다. 최대 길이는 128자(영문 기준)입니다. 회의 제공업체는 일반적으로 {accessCode, meetingCode, passcode, password, pin}의 하위 집합만 사용하여 회의에 대한 액세스를 제공합니다. 회의 제공업체에서 사용하는 필드만 일치시키고 표시합니다.
entryPoint.entryPointFeatures list
진입점의 기능입니다. 현재 이러한 기능은 phone 진입점에만 적용됩니다.
  • toll: 진입점이 유료 전화 통화입니다.
  • toll_free: 진입점은 수신자 부담 전화 통화입니다.
entryPoint.entryPointType string
진입점의 유형입니다. 가능한 값은 다음과 같습니다.
  • more: 대체 전화번호와 같은 추가 회의 참여 안내입니다. 회의에는 more 진입점이 하나만 있을 수 있습니다. 있는 경우 다른 유형의 진입점도 하나 이상 필요합니다.
  • phone: 전화번호를 통해 회의에 참여합니다. 회의에는 0개 이상의 phone 진입점이 있을 수 있습니다. Google Calendar에는 서식을 지정하고 알파벳순으로 정렬한 후 처음 두 개의 전화 진입점만 표시됩니다.
  • sip: SIP를 통해 회의에 참여합니다. 회의에는 최대 하나의 sip 진입점이 있을 수 있습니다.
  • video: HTTP를 통해 회의에 참여합니다. 회의에는 최대 하나의 video 진입점이 있을 수 있습니다.
entryPoint.label string
진입점 URI의 사용자 표시 라벨입니다(현지화되지 않음).
entryPoint.meetingCode string
회의에 액세스하는 데 사용되는 회의 코드입니다. 최대 길이는 128자(영문 기준)입니다. 회의 제공업체는 일반적으로 {accessCode, meetingCode, passcode, password, pin}의 하위 집합만 사용하여 회의에 대한 액세스를 제공합니다. 회의 제공업체에서 사용하는 필드만 일치시키고 표시합니다.
entryPoint.passcode string
회의에 액세스하는 데 사용되는 비밀번호입니다. 최대 길이는 128자(영문 기준)입니다. 회의 제공업체는 일반적으로 {accessCode, meetingCode, passcode, password, pin}의 하위 집합만 사용하여 회의에 대한 액세스를 제공합니다. 회의 제공업체에서 사용하는 필드만 일치시키고 표시합니다.
entryPoint.password string
회의에 액세스하는 데 사용되는 비밀번호입니다. 최대 길이는 128자(영문 기준)입니다. 회의 제공업체는 일반적으로 {accessCode, meetingCode, passcode, password, pin}의 하위 집합만 사용하여 회의에 대한 액세스를 제공합니다. 회의 제공업체에서 사용하는 필드만 일치시키고 표시합니다.
entryPoint.pin string
회의에 액세스하는 데 사용되는 PIN입니다. 최대 길이는 128자(영문 기준)입니다. 회의 제공업체는 일반적으로 {accessCode, meetingCode, passcode, password, pin}의 하위 집합만 사용하여 회의에 대한 액세스를 제공합니다. 회의 제공업체에서 사용하는 필드만 일치시키고 표시합니다.
entryPoint.regionCode string
전화번호의 지역 코드입니다. URI에 국가 코드가 포함되지 않은 경우 사용자가 필요합니다. 값은 공개 CLDR 지역 코드 목록을 기반으로 합니다.
entryPoint.uri string
진입점의 URI입니다. 최대 길이는 1,300자입니다. 형식은 진입점 유형에 따라 다릅니다.
  • more: http: 또는 https: 스키마가 필요합니다.
  • phone: tel: 스키마가 필요합니다. URI에는 전체 다이얼 시퀀스 (예: 'tel:+12345678900,,,12345678;1234')가 포함되어야 합니다.
  • sip: sip: 또는 sips: 스키마가 필요합니다. 예: 'sip:12345678@myprovider.com'
  • video: http: 또는 https: 스키마가 필요합니다.

Drive 이벤트 객체

Drive 이벤트 객체는 사용자의 Google Drive 및 콘텐츠에 관한 정보를 전달하는 전체 이벤트 객체의 일부입니다. 부가기능이 Google Drive를 확장하는 경우에만 이벤트 객체에 표시됩니다.

Drive 이벤트 객체
drive.activeCursorItem Drive item object
현재 활성화된 Drive 항목입니다.
drive.selectedItems[] list of Drive item objects
드라이브에서 선택한 항목 (파일 또는 폴더) 목록입니다.

Drive 항목

드라이브 항목 객체는 파일이나 폴더와 같은 특정 드라이브 항목에 관한 정보를 전달합니다.

Drive 항목 객체
item.addonHasFileScopePermission boolean
true인 경우 부가기능이 이 항목에 대해 https://www.googleapis.com/auth/drive.file 범위 승인을 요청하고 수신한 것입니다. 그렇지 않으면 이 필드는 false입니다.
item.id string
선택한 항목의 ID입니다.
item.iconUrl string
선택한 항목을 나타내는 아이콘의 URL입니다.
item.mimeType string
선택한 항목의 MIME 유형입니다.
item.title string
선택한 항목의 제목입니다.

Gmail 이벤트 객체

Gmail 이벤트 객체는 사용자의 Gmail 메일에 관한 정보를 전달하는 전체 이벤트 객체의 일부입니다. 호스트 애플리케이션이 Gmail인 경우에만 이벤트 객체에 있습니다.

Gmail 이벤트 객체
gmail.accessToken string
Gmail 전용 액세스 토큰입니다. 이 토큰을 GmailApp.setCurrentMessageAccessToken(accessToken) 메서드와 함께 사용하여 부가기능에 현재 열려 있는 사용자의 Gmail 메시지에 대한 임시 액세스 권한을 부여하거나 부가기능이 새 초안을 작성하도록 할 수 있습니다.
gmail.bccRecipients[] list of strings
기본적으로 사용 중지됨 현재 애드온이 작성 중인 초안에 포함된 '숨은참조' 수신자 이메일 주소 목록입니다. 이 필드를 사용 설정하려면 매니페스트의 addOns.gmail.composeTrigger.draftAccess 필드를 METADATA로 설정해야 합니다.
gmail.ccRecipients[] list of strings
기본적으로 사용 중지됨 현재 부가기능이 작성 중인 초안에 포함된 '참조' 수신자 이메일 주소 목록입니다. 이 필드를 사용 설정하려면 매니페스트의 addOns.gmail.composeTrigger.draftAccess 필드를 METADATA로 설정해야 합니다.
gmail.messageId string
현재 열려 있는 Gmail 메일의 ID입니다.
gmail.threadId string
현재 열려 있는 Gmail 스레드 ID입니다.
gmail.toRecipients[] list of strings
기본적으로 사용 중지됨 현재 부가기능이 작성 중인 초안에 포함된 '받는사람:' 수신자 이메일 주소 목록입니다. 이 필드를 사용 설정하려면 매니페스트의 addOns.gmail.composeTrigger.draftAccess 필드를 METADATA로 설정해야 합니다.

Docs 이벤트 객체

Docs 이벤트 객체는 사용자의 문서 및 콘텐츠에 관한 정보를 전달하는 전체 이벤트 객체의 일부입니다. 부가기능이 Google Docs를 확장하는 경우에만 이벤트 객체에 표시됩니다.

Docs 이벤트 객체
docs.id string
사용자가 https://www.googleapis.com/auth/drive.file 범위에 권한을 부여한 경우에만 표시됩니다.
Docs UI에서 열린 문서의 ID입니다.
docs.title string
https://www.googleapis.com/auth/drive.file 범위가 사용자에 의해 승인된 경우에만 표시됩니다.
Docs UI에서 열린 문서의 제목입니다.
docs.addonHasFileScopePermission boolean
true인 경우 부가기능이 Docs UI에서 열린 문서에 대해 https://www.googleapis.com/auth/drive.file 범위 승인을 요청하고 수신한 것입니다. 그렇지 않으면 이 필드는 false입니다.
docs.matchedUrl.url string
다음 조건을 충족하는 경우에만 표시됩니다.
  • https://www.googleapis.com/auth/workspace.linkpreview이(가) 사용자에 의해 승인되었습니다.
  • URL이 LinkPreviewTriggers 트리거에 지정된 호스트 패턴과 일치합니다.

Google Docs에서 미리보기를 생성하는 링크의 URL입니다. 이 필드를 사용하려면 부가기능의 매니페스트에서 LinkPreviewTriggers을 구성해야 합니다. 자세한 내용은 스마트 칩을 사용한 미리보기 링크를 참고하세요.

사용자가 링크 https://www.example.com/12345를 미리 볼 때의 페이로드 예시:

"docs" : {
  "matchedUrl" : {
      "url" : "https://www.example.com/12345"
  }
}
        

Sheets 이벤트 객체

Sheets 이벤트 객체는 사용자의 문서 및 콘텐츠에 관한 정보를 전달하는 전체 이벤트 객체의 일부입니다. 부가기능이 Google Sheets를 확장하는 경우에만 이벤트 객체에 표시됩니다.

Sheets 이벤트 객체
sheets.id string
사용자가 https://www.googleapis.com/auth/drive.file 범위를 승인한 경우에만 값이 있습니다. Sheets UI에서 열려 있는 스프레드시트의 ID입니다.
sheets.title string
사용자가 https://www.googleapis.com/auth/drive.file 범위를 승인한 경우에만 값이 있습니다. Sheets UI에서 열린 스프레드시트의 제목입니다.
sheets.addonHasFileScopePermission boolean
true인 경우 부가기능이 Sheets UI에서 열린 스프레드시트에 대해 https://www.googleapis.com/auth/drive.file 범위 승인을 요청하고 수신한 것입니다. 그렇지 않으면 이 필드는 false입니다.
sheets.matchedUrl.url string
다음 조건을 충족하는 경우에만 표시됩니다.
  • https://www.googleapis.com/auth/workspace.linkpreview이(가) 사용자에 의해 승인되었습니다.
  • URL이 LinkPreviewTriggers 트리거에 지정된 호스트 패턴과 일치합니다.

Google Sheets에서 미리보기를 생성하는 링크의 URL입니다. 이 필드를 사용하려면 부가기능의 매니페스트에서 LinkPreviewTriggers을 구성해야 합니다. 자세한 내용은 스마트 칩을 사용한 미리보기 링크를 참고하세요.

사용자가 링크 https://www.example.com/12345를 미리 볼 때의 페이로드 예시:

"sheets" : {
  "matchedUrl" : {
      "url" : "https://www.example.com/12345"
  }
}
        

Slides 이벤트 객체

Slides 이벤트 객체는 사용자의 문서 및 콘텐츠에 관한 정보를 전달하는 전체 이벤트 객체의 일부입니다. 이 속성은 부가기능이 Google Slides를 확장하는 경우에만 이벤트 객체에 있습니다.

Slides 이벤트 객체
slides.id string
사용자가 https://www.googleapis.com/auth/drive.file 범위를 승인한 경우에만 값이 있습니다. Slides UI에서 열려 있는 프레젠테이션의 ID입니다.
slides.title string
사용자가 https://www.googleapis.com/auth/drive.file 범위를 승인한 경우에만 값이 있습니다. Slides UI에서 열린 프레젠테이션의 제목입니다.
slides.addonHasFileScopePermission boolean
true인 경우 부가기능이 Slides UI에서 열린 프레젠테이션에 대해 https://www.googleapis.com/auth/drive.file 범위 승인을 요청하고 수신한 것입니다. 그렇지 않으면 이 필드는 false입니다.
slides.matchedUrl.url string
다음 조건을 충족하는 경우에만 표시됩니다.
  • https://www.googleapis.com/auth/workspace.linkpreview이(가) 사용자에 의해 승인되었습니다.
  • URL이 LinkPreviewTriggers 트리거에 지정된 호스트 패턴과 일치합니다.

Google Slides에서 미리보기를 생성하는 링크의 URL입니다. 이 필드를 사용하려면 부가기능의 매니페스트에서 LinkPreviewTriggers을 구성해야 합니다. 자세한 내용은 스마트 칩을 사용한 미리보기 링크를 참고하세요.

사용자가 링크 https://www.example.com/12345를 미리 볼 때의 페이로드 예시:

"slides" : {
  "matchedUrl" : {
      "url" : "https://www.example.com/12345"
  }
}