이벤트 객체

이 페이지에서는 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인 경우에만 표시됩니다. 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입니다.

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

  • 단일 값 위젯 (예: 텍스트 상자): 문자열 목록(요소 1개만 해당)

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

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

    : participants이 ID인 다중 값 위젯의 경우 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 이벤트 객체는 전체 이벤트 객체 중 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)

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

chat.widgetUpdatedPayload

object (WidgetUpdatedPayload)

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

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

chat.appCommandPayload

object (AppCommandPayload)

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

페이로드

Chat 앱 상호작용 유형에 따라 이벤트에는 하나 이상의 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 앱을 추가하는지 여부입니다. 예를 들어 Chat 앱을 @멘션하거나 명령어를 사용하는 경우입니다. true인 경우 Chat은 메시지에 관한 정보가 포함된 messagePayload와 함께 다른 이벤트 객체를 전송합니다.
chat.addedToSpacePayload.configCompleteRedirectUri string
사용자가 Google Chat 외부에서 승인 또는 구성 흐름을 완료한 후 Chat 앱에서 사용자를 리디렉션해야 하는 URL입니다. 자세한 내용은 Google Workspace 부가기능을 서드 파티 서비스에 연결하기를 참고하세요.

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

관리자가 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인 경우 대화상자의 상호작용 유형입니다.

Enum 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.appCommandPayload.message object (Message)
슬래시 명령어의 경우 슬래시 명령어가 포함된 메시지입니다.
chat.appCommandPayload.configCompleteRedirectUri string
명령어에 승인 또는 구성이 필요한 경우 사용자가 Google Chat 외부에서 프로세스를 완료한 후 리디렉션할 URL입니다.
chat.appCommandPayload.isDialogEvent boolean
명령어가 대화상자를 여는지 여부입니다.
chat.appCommandPayload.dialogEventType enum (DialogEventType)
대화상자와의 상호작용 유형입니다.

Enum DialogEventType.

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

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

string (int64 format)

명령어 ID입니다.

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

Enum AppCommandType.

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

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

Calendar event object(캘린더 일정 객체)

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

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

Calendar event object(캘린더 일정 객체)
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)
  • eventNamedHangout: Google Workspace 사용자용 기존 행아웃 (http://hangouts.google.com)
  • Google Meet(http://meet.google.com)용 hangoutsMeet
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: 전화번호를 통해 회의에 참여합니다. 회의에는 phone 진입점이 0개 이상 있을 수 있습니다. 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 항목

Drive 항목 객체는 파일이나 폴더와 같은 특정 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"
  }
}