Google Calendar 인터페이스 빌드

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

Google Workspace 부가기능은 사용자가 캘린더 및 Calendar 일정을 보거나 수정할 때 맞춤설정된 인터페이스를 제공할 수 있습니다. 이를 통해 사용자에게 추가 관련 정보를 제공하고, 작업을 자동화하며, 타사 시스템을 Google Calendar에 연결할 수 있습니다.

Google Calendar의 부가기능 인터페이스를 빌드할 때 홈페이지를 제공할 수 있습니다. 여러 호스트에 동일한 홈페이지를 사용하거나 Google Calendar에 특정 홈페이지를 디자인할 수 있습니다.

부가기능은 사용자가 캘린더 일정을 열 때 표시되는 인터페이스를 정의할 수도 있습니다.

부가기능 UI 액세스

부가기능은 여는 방법에 따라 Google Workspace 홈페이지 인터페이스, 캘린더 일정 인터페이스, 첨부파일 선택 인터페이스 또는 이 세 가지 모두를 정의할 수 있습니다.

  • 사용자가 캘린더 보기에서 부가기능 아이콘을 클릭하면 부가기능은 해당하는 calendar.homepageTrigger 함수 (있는 경우)를 실행합니다. 이 함수는 홈페이지 카드를 빌드하여 표시할 수 있도록 Google Calendar에 반환합니다. calendar.homepageTrigger 함수가 정의되어 있지 않으면 일반 홈페이지 카드가 대신 표시됩니다.
  • 사용자가 Calendar 이벤트를 연 후 부가기능 아이콘을 클릭하거나 사용자가 이벤트를 열 때 부가기능이 열리는 경우 부가기능은 상응하는 eventOpenTrigger 함수 (있는 경우)를 실행합니다. 이 함수는 부가기능의 캘린더 이벤트 인터페이스를 빌드하고 이를 표시하기 위해 Google Calendar로 돌아갑니다.
  • 부가기능이 eventAttachmentTrigger 함수를 정의하는 경우 사용자가 Calendar 일정을 수정하는 동안 첨부파일 추가를 클릭하면 부가기능이 첨부파일 제공업체로 표시됩니다. 부가기능이 선택되면 eventAttachmentTrigger 함수는 부가기능 첨부파일 선택 인터페이스를 빌드하고 이를 Google Calendar에 반환하여 표시합니다.

부가기능 Calendar 인터페이스 빌드

다음 단계에 따라Google Workspace 부가기능으로 Google Calendar를 확장할 수 있습니다.

  1. 부가기능에 Calendar 관련 홈페이지를 표시할지 여부를 결정합니다. 또한 사용자가 Calendar 일정을 수정하는 동안 맞춤 인터페이스를 제공할지 여부를 결정합니다.
  2. 부가기능 스크립트 프로젝트 매니페스트에 필요한 범위를 포함하여 적절한 addOns.commonaddOns.calendar 필드를 추가합니다.
  3. 캘린더 관련 홈페이지를 제공하는 경우 calendar.homepageTrigger 함수를 구현하여 이 인터페이스를 빌드합니다. 또한 여러 호스트에 common.homepageTrigger 인터페이스를 사용할 수도 Google Workspace 있습니다.
  4. Calendar 이벤트 인터페이스를 제공하는 경우 이 인터페이스를 빌드하려면 calendar.eventOpenTrigger 함수를 구현해야 합니다. 자세한 내용은 캘린더 일정 인터페이스 확장을 참고하세요.
  5. 사용자의 UI 상호작용(예: 버튼 클릭)에 응답하는 데 필요한 관련 콜백 함수를 구현합니다.

캘린더 홈페이지

Google Calendar는 Google Workspace 부가기능 홈페이지 표시를 지원합니다. Google Calendar에 부가기능의 공통 홈페이지를 표시하려면 부가기능 매니페스트에 addOns.calendar 필드가 있는지 확인합니다.

또는 부가기능 매니페스트에 calendar.homepageTrigger를 추가하여 Calendar 관련 홈페이지를 제공합니다.

두 경우 모두 부가기능 스크립트 프로젝트에 홈페이지 트리거 함수의 이름을 제공해야 합니다. 이 함수는 필요할 때 캘린더 홈페이지를 빌드하는 데 자동으로 호출됩니다. 단일 Card 또는 홈페이지를 구성하는 Card 객체의 배열을 빌드 및 반환하려면 이 함수를 구현해야 합니다. 홈페이지 트리거 함수에는 이벤트 객체가 클라이언트의 플랫폼과 같은 일반적인 정보가 포함된 매개변수로 전달됩니다. 이벤트 객체 데이터를 사용하여 홈페이지 구성을 맞춤설정할 수 있습니다.

Calendar 일정 인터페이스 확장

Google Calendar는 상황별 트리거를 사용하여 사용자가 Calendar 일정을 수정할 때 표시할 인터페이스를 결정합니다(있는 경우). 트리거가 실행되면 부가기능 매니페스트calendar.eventOpenTrigger 필드에서 지정된 상황별 트리거 함수를 실행합니다.

calendar.eventOpenTrigger 필드에 이름이 지정된 함수를 구현해야 합니다. 이 함수는 이벤트 객체를 인수로 허용하며, 사용자가 이벤트를 연 상태에서 Calendar가 표시하려면 단일 Card 객체 또는 Card 객체의 배열을 반환해야 합니다.

이벤트 객체

사용자가 캘린더 일정을 열 때 이벤트 객체가 생성되어 calendar.eventOpenTrigger 컨텍스트 트리거 함수에 전달됩니다. 트리거 함수는 이 이벤트 객체의 정보를 사용하여 부가기능 카드를 구성하는 방법 또는 부가기능 동작을 제어하는 방법을 결정할 수 있습니다. 이벤트 객체는 개발자가 처음 열 때 및 사용자가 대화형 위젯을 클릭하거나 선택할 때 homepageTrigger 함수에 전달됩니다.

이벤트 객체의 전체 구조는 이벤트 객체에 설명되어 있습니다. Calendar가 부가기능의 실행 호스트 앱인 경우 컨텍스트 트리거 및 위젯 상호작용 이벤트 객체에는 Calendar 관련 클라이언트 정보를 전달하는 Calendar 이벤트 객체 필드가 포함됩니다.

Calendar 일정 업데이트 중

사용자가 수정할 수 있도록 Calendar 일정을 열 때 실행되는 상황별 calendar.eventOpenTrigger 외에도 사용자가 Calendar 일정을 업데이트하고 저장할 때 실행되는 calendar.eventUpdateTrigger를 정의할 수도 있습니다. 이 동작은 사용자가 다음 중 하나 이상을 수정하는 경우에만 실행됩니다.

  • 참석자를 한 명 이상 추가합니다.
  • 참석자를 한 명 이상 삭제합니다.
  • 다른 회의 솔루션을 추가하거나 전환합니다.

이 트리거가 실행되면 calendar.eventUpdateTrigger 매니페스트 필드에서 지정한 트리거 함수를 실행합니다. 이 함수는 캘린더 이벤트 수정사항이 저장되기 전에 실행됩니다.

calendar.eventUpdateTrigger은 일반적으로 다음 중 하나 이상을 실행하는 데 사용됩니다.

  • 사용자가 Calendar 이벤트를 변경하는 경우 이에 대한 부가기능의 Calendar 일정 인터페이스를 업데이트합니다.
  • Calendar 일정 데이터를 Google Calendar에 연결된 회의 시스템과 같은 타사 시스템과 동기화합니다.

캘린더 일정 데이터 (예: 참석자 목록)를 조정할 부가기능이 필요한 경우 부가기능 calendar.currentEventAccess 매니페스트 필드를 WRITE 또는 READ_WRITE로 설정해야 합니다. 또한 부가기능에 https://www.googleapis.com/auth/calendar.addons.current.event.write 범위가 있어야 합니다.

회의 솔루션 추가

회의 솔루션은 사용자가 Google Calendar 일정에 연결할 수 있는 타사 회의 옵션을 나타냅니다. 타사 회의 개요 문서에서는 새 회의 솔루션을 추가하는 부가기능을 빌드하는 방법에 관한 세부정보를 제공합니다. 이러한 유형의 확장 프로그램에는 UI를 빌드할 필요가 없습니다. 추가된 솔루션은 Google Calendar 일정 UI의 드롭다운 메뉴에 옵션으로 표시됩니다.