Google ドライブ インターフェースのビルド

Google Workspace アドオンは、ユーザーが Google ドライブを使用している場合に、カスタマイズされたインターフェースを提供できます。これにより、ユーザーに追加情報を提供し、タスクを自動化し、サードパーティ システムを Google ドライブに接続できます。

アドオン UI へのアクセス

ドライブのユーザー インターフェースの右側にあるアイコン列にアイコンが表示されている場合、Google ドライブで Google Workspace アドオンを開くことができます。Google Workspace アドオンは、ホームページ インターフェース、アイテム選択インターフェース、またはその両方を定義できます。

  • ユーザーが Google ドライブでアドオン アイコンをクリックすると、対応する drive.homepageTrigger 関数が実行されます(存在する場合)。この関数は、ホームページ カードを作成して Google ドライブに返し、表示します。drive.homepageTrigger 関数が定義されていない場合は、代わりに汎用のホームページ カードが表示されます。
  • ユーザーが Google ドライブで 1 つ以上のアイテムを選択してから、アドオン アイコンをクリックしたとき、またはアドオンの開いているときにアイテムを選択すると、対応する drive.onItemsSelectedTrigger コンテキスト関数(存在する場合)がアドオンによって実行されます。この関数は、アドオンの Google ドライブの「コンテキスト選択アイテム」インターフェースを作成し、表示するために Google ドライブに返します。

ドライブのアドオン インターフェースの構築

Google ドライブを拡張するインターフェースは、次の手順で作成できます。

  1. アドオンにドライブ固有のホームページを割り当てるかどうかを決定します。また、ユーザーがドライブのアイテムを選択する際にコンテキスト インターフェースを提供するかどうかも決定します。
  2. 必要なドライブ スコープを含め、適切な addOns.common フィールドと addOns.drive フィールドをアドオン スクリプト プロジェクトのマニフェストに追加します。
  3. ドライブ固有のホームページを提供する場合は、drive.homepageTrigger 関数を実装してこのインターフェースを作成します。また、複数の Google Workspace ホストに common.homepageTrigger インターフェースを使用することもできます。
  4. ドライブのコンテキスト アイテム選択インターフェースを提供する場合は、drive.onItemsSelectedTrigger コンテキスト トリガー関数を実装してこのインターフェースを作成する必要があります。詳しくは、選択したアイテムのコンテキスト メニューを利用するをご覧ください)。
  5. ボタンのクリックなど、ユーザーの UI 操作に応答するために必要な関連コールバック関数を実装します。

ドライブのホームページ

Google ドライブは、Google Workspace アドオンのホームページの表示をサポートしています。アドオンの共通ホームページを Google ドライブに表示するには、アドオンのマニフェストに addOns.drive フィールドがあることを確認します。

または、drive.homepageTrigger をアドオン マニフェストに追加して、ドライブ固有のホームページを提供します。

いずれの場合も、アドオンのスクリプト プロジェクトでホームページ トリガー関数の名前を指定する必要があります。この関数は、必要なときにドライブのホームページを作成するために自動的に呼び出されます。単一の Card またはホームページを構成する Card オブジェクトの配列を作成して返すように、この関数を実装する必要があります。ホームページのトリガー関数には、クライアントのプラットフォームなどの一般的な情報を含むパラメータとしてイベント オブジェクトが渡されます。イベント オブジェクト データを使用して、ホームページの構造を調整できます。

選択したアイテムに関するコンテキスト インターフェースの強化

Google ドライブは、ユーザーが 1 つ以上の Google ドライブのアイテムを選択したときに表示されるインターフェース(存在する場合)を決定する際に、コンテキスト トリガーを使用します。トリガーが発生すると、アドオン マニフェストdrive.onItemsSelectedTrigger.runFunction フィールドで指定されたコンテキスト トリガー関数が実行されます。

ドライブのコンテキスト アイテム選択インターフェースを作成する手順は次のとおりです。

  1. アドオンのマニフェストに https://www.googleapis.com/auth/drive.addons.metadata.readonly スコープが含まれていることを確認する

  2. マニフェストに drive.onItemsSelectedTrigger セクションが含まれていることを確認します。

  3. drive.onItemsSelectedTrigger フィールドで指定された関数を実装します。この関数は、イベント オブジェクトを引数として受け取り、単一の Card オブジェクトまたは Card オブジェクトの配列を返す必要があります。

  4. 他のカードと同様に、インターフェースのウィジェットのインタラクティビティを提供するために使用されるコールバック関数を実装する必要があります。たとえば、インターフェースにボタンを含める場合は、アクションをアタッチし、ボタンがクリックされたときに実行するコールバック関数を実装する必要があります。

イベント オブジェクト

イベント オブジェクトが作成され、drive.homepageTrigger または drive.onItemsSelectedTrigger の関数が呼び出されるときにその関数に渡されます。トリガー関数は、このイベント オブジェクトの情報を使用して、アドオンカードの作成方法を決定したり、アドオン動作を制御したりできます。

イベント オブジェクトの完全な構造については、イベント オブジェクトをご覧ください。ドライブがアドオンのホストホスト アプリである場合、コンテキスト イベント オブジェクトには、ドライブ固有のクライアント情報を含む Drive イベント オブジェクト フィールドが含まれます。

アイテム選択トリガーのコンテキスト ドライブ イベント オブジェクトには、トリガーが発生したときにユーザーが選択したアイテムに関する情報が含まれます。ユーザーがドライブで複数のアイテムを選択したとき、そのアイテムの 1 つが最大の関心対象とみなされます。このアイテムは、アクティブなカーソル アイテムと呼ばれます。

次の例は、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"
          },
          ...
        ]
      },
      ...
    }