Google Drive 인터페이스 빌드

Google Workspace 부가기능은 사용자가 Drive를 열 때 맞춤설정된 인터페이스를 제공할 수 있습니다. 이를 통해 사용자에게 추가 관련 정보를 제공하고, 작업을 자동화하고, 서드 파티 시스템을 Drive에 연결할 수 있습니다.

Google Workspace 부가기능 UI에 액세스

Drive 사용자 인터페이스의 오른쪽에 있는 아이콘 열에 부가기능 아이콘이 표시되면 Drive에서 부가기능을 열 수 있습니다. 부가기능은 홈페이지 인터페이스, 항목 선택 인터페이스 또는 둘 다 정의할 수 있습니다.

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

다음 일반적인 단계에 따라 Drive를 확장하는 인터페이스를 빌드합니다.

  1. 부가기능에 Drive 전용 홈페이지를 포함할지 결정합니다. 또한 사용자가 Drive 항목을 선택할 때 컨텍스트 인터페이스를 제공할지 결정합니다.
  2. 필요한 Drive 범위를 포함하여 적절한 addOns.commonaddOns.drive 필드 를 부가기능 스크립트 프로젝트 매니페스트에 추가합니다.
  3. Drive 전용 홈페이지를 제공하는 경우 drive.homepageTrigger 함수를 구현하여 이 인터페이스를 빌드합니다. 여러 Google Workspace 호스트에 common.homepageTrigger 인터페이스를 사용할 수도 있습니다.
  4. Drive 컨텍스트 항목 선택 인터페이스를 제공하는 경우 drive.onItemsSelectedTrigger 컨텍스트 트리거 함수를 구현하여 이 인터페이스를 빌드해야 합니다. 자세한 내용은 선택된 항목의 Drive 컨텍스트 인터페이스 를 참고하세요.
  5. 버튼 클릭과 같은 사용자의 UI 상호작용에 응답하는 데 필요한 연결된 콜백 함수를 구현합니다.

Drive 홈페이지

Drive는 부가기능 홈페이지 표시를 지원합니다. Drive에 부가기능의 일반 홈페이지를 표시하려면 부가기능의 매니페스트에 addOns.drive 필드가 있어야 합니다.

또는 부가기능 매니페스트에 drive.homepageTrigger 를 추가하여 Drive 전용 홈페이지를 제공합니다.

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

선택된 항목의 Drive 컨텍스트 인터페이스

Drive는 컨텍스트 트리거를 사용하여 사용자가 하나 이상의 Drive 항목을 선택할 때 표시할 인터페이스(있는 경우)를 결정합니다. 트리거가 실행되면 부가기능 매니페스트drive.onItemsSelectedTrigger.runFunction필드에 지정된 컨텍스트 트리거 함수 를 실행합니다.

Drive의 컨텍스트 항목 선택 인터페이스를 만들려면 다음 단계를 따르세요.

  1. 부가기능의 매니페스트에 https://www.googleapis.com/auth/drive.addons.metadata.readonly 범위가 포함되어 있는지 확인합니다.

  2. 매니페스트에 drive.onItemsSelectedTrigger 섹션이 포함되어 있는지 확인합니다.

  3. 필드에 이름이 지정된 함수를 구현합니다.drive.onItemsSelectedTrigger 이 함수는 이벤트 객체를 인수로 허용하며 단일 Card 객체 또는 Card 객체 배열을 반환해야 합니다.

  4. 모든 카드와 마찬가지로 인터페이스에 위젯 상호작용을 제공하는 데 사용되는 콜백 함수를 구현합니다. 예를 들어 인터페이스에 버튼 을 포함하는 경우 버튼을 클릭할 때 실행되는 연결된 작업과 구현된 콜백 함수가 있어야 합니다.

이벤트 객체

이벤트 객체는 생성되어 drive.homepageTrigger 또는 drive.onItemsSelectedTrigger 트리거 함수가 호출될 때 이러한 함수에 전달됩니다. 트리거 함수는 이 이벤트 객체의 정보를 사용하여 부가기능 카드를 빌드하거나 부가기능 동작을 제어하는 방법을 결정합니다.

이벤트 객체의 전체 구조는 이벤트 객체에 설명되어 있습니다. Drive가 부가기능의 작동 호스트 앱인 경우 컨텍스트 이벤트 객체에는 Drive 이벤트 객체 필드가 포함되어 Drive 전용 클라이언트 정보를 전달합니다.

항목 선택 트리거의 컨텍스트 Drive 이벤트 객체에는 트리거가 실행될 때 사용자가 선택한 항목에 관한 정보가 포함됩니다. 사용자가 Drive에서 두 개 이상의 항목을 선택하면 항목 중 하나가 기본 관심 항목으로 간주됩니다. 이 항목을 활성 커서 항목 이라고 합니다.

부가기능의 동작이 선택된 여러 항목에 적용되도록 하려면 이벤트 객체의 drive.selectedItems 배열에 제공된 정보를 사용하여 모든 항목을 식별합니다.

부가기능의 동작이 선택된 단일 항목에만 적용되어야 하는 경우 이벤트 객체의 drive.activeCursorItem 필드에 제공된 정보를 사용하여 전체 선택 항목 중에서 항목을 식별합니다. `drive.selectedItems` 배열에서 사용할 항목을 추론하지 마세요.drive.selectedItems

다음 예는 Drive 이벤트 객체를 보여줍니다. 이 객체는 drive.onItemsSelectedTrigger 함수에 전달됩니다.

{
  "commonEventObject": { ... },
  "drive": {
    "activeCursorItem":{
      "addonHasFileScopePermission": true,
      "id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
      "iconUrl": "https://drive-thirdparty.googleusercontent.com...",
      "mimeType":"application/pdf",
      "title":"How to get started with Drive"
    },
    "selectedItems": [
      {
        "addonHasFileScopePermission": true,
        "id":"0B_sX1fXRRU6Ac3RhcnRlcl9maWxl",
        "iconUrl":"https://drive-thirdparty.googleusercontent.com...",
        "mimeType":"application/pdf",
        "title":"How to get started with Drive"
      },
      ...
    ]
  },
  ...
}