Google Drive 인터페이스 빌드

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

부가기능 UI에 액세스

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

  • 사용자가 Google Drive에 있는 동안 부가기능 아이콘을 클릭하면 부가기능은 상응하는 drive.homepageTrigger 함수 (있는 경우)를 실행합니다. 이 함수는 홈페이지 카드를 빌드하고 표시하기 위해 Google 드라이브에 반환합니다. drive.homepageTrigger 함수가 정의되지 않으면 일반 홈페이지 카드가 대신 표시됩니다.
  • 사용자가 Google Drive에서 항목을 하나 이상 선택한 다음 부가기능 아이콘을 클릭하거나 부가기능이 열려 있는 동안 항목을 선택하면 부가기능은 상응하는 drive.onItemsSelectedTrigger 컨텍스트 함수 (있는 경우)를 실행합니다. 이 함수는 부가기능의 Google 드라이브 상황별 '선택된 항목' 인터페이스를 빌드하고 표시하기 위해 Google 드라이브로 반환합니다.

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

다음과 같은 일반적인 단계에 따라 Google 드라이브를 확장하는 인터페이스를 빌드할 수 있습니다.

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

드라이브 홈페이지

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

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

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

선택한 항목에 대한 Drive 컨텍스트 인터페이스

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

Drive의 상황별 항목 선택 인터페이스를 만들려면 다음을 수행해야 합니다.

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

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

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

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

이벤트 객체

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

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

항목 선택 트리거의 컨텍스트 드라이브 이벤트 객체에는 트리거가 실행되었을 때 사용자가 선택한 항목에 대한 정보가 포함됩니다. 사용자가 Drive에서 항목을 두 개 이상 선택하는 경우, 이러한 항목 중 하나는 주요 관심사로 간주됩니다. 이 항목을 활성 커서 항목이라고 합니다.

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

    {
      "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"
          },
          ...
        ]
      },
      ...
    }