Google Drive 인터페이스 빌드

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

부가기능 UI에 액세스

Google 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에서 두 개 이상의 항목을 선택하면 항목 중 하나가 기본 관심 항목으로 간주됩니다. 이 항목을 활성 커서 항목이라고 합니다.

다음 예는 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"
          },
          ...
        ]
      },
      ...
    }