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

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

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

アドオン UI へのアクセス

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

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

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

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

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

ドライブのホームページ

Google ドライブでは、 Google Workspace アドオンのホームページの表示がサポートされています。アドオンのホームページを Google ドライブに表示するには、アドオンのマニフェストに addOns.drive フィールドを追加します。

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

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

選択したアイテムのドライブ コンテキスト インターフェース

Google ドライブは、ユーザーが 1 つ以上のドライブ アイテムを選択したときに表示するインターフェース(存在する場合)をコンテキスト トリガーに依存します。トリガーが起動すると、アドオンのマニフェスト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 イベント オブジェクト フィールドが含まれます。

アイテム選択トリガーのコンテキスト ドライブのドライブ イベント オブジェクトには、トリガーの起動時にユーザーが選択したアイテムに関する情報が含まれます。ユーザーがドライブで複数のアイテムを選択すると、そのアイテムの一つが主要な関心事とみなされ、このアイテムは「アクティブなカーソル アイテム」と呼ばれます。

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