Google Drive 인터페이스 빌드

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

부가기능 UI 액세스

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

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

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

다음 일반 단계에 따라 Google 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 홈페이지

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

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

두 경우 모두 부가기능 스크립트 프로젝트에 홈페이지 트리거 함수의 이름을 제공해야 합니다. 이 함수는 필요할 때 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. 다른 카드와 마찬가지로 인터페이스에 위젯 상호작용을 제공하는 데 사용되는 콜백 함수를 구현해야 합니다. 예를 들어 인터페이스에 버튼을 포함하는 경우 버튼의 작업이 연결되고 버튼을 클릭할 때 실행되는 구현된 콜백 함수가 있어야 합니다.

이벤트 객체

이러한 함수가 호출되면 이벤트 객체가 생성되어 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"
          },
          ...
        ]
      },
      ...
    }