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

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

アドオン UI にアクセスする

Google ドライブのユーザー インターフェースの右側にあるアイコン列にアイコンが表示されていれば、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. 他のカードと同様に、インターフェースのウィジェット インタラクティビティを提供するために使用するコールバック関数を実装する必要があります。たとえば、インターフェースにボタンを含める場合、Action がアタッチされ、ボタンがクリックされたときに実行されるコールバック関数が実装されている必要があります。

イベント オブジェクト

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

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

アイテム選択トリガーのドライブ コンテキスト イベント オブジェクトには、トリガーの開始時にユーザーが選択したアイテムに関する情報が含まれます。ユーザーがドライブで複数のアイテムを選択すると、そのアイテムの 1 つが主な関心事の 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"
          },
          ...
        ]
      },
      ...
    }