Google Workspace アドオンは、ユーザーが Google ドライブを使用しているときにカスタマイズされたインターフェースを提供できます。これにより、ユーザーに関連性の高い追加情報を提供したり、タスクを自動化したり、サードパーティのシステムを Google ドライブに接続したりできます。
アドオン UI へのアクセス
Google ドライブのユーザー インターフェースの右側にあるアイコン列にアイコンが表示されている場合は、Google ドライブで Google Workspace アドオンを開くことができます。Google Workspace アドオンでは、ホームページ インターフェース、アイテム選択インターフェース、またはその両方を定義できます。
- ユーザーが Google ドライブでアドオン アイコンをクリックすると、アドオンは対応する
drive.homepageTrigger
関数(存在する場合)を実行します。この関数は、表示する ホームページ カードを Google ドライブ用に作成して返します。drive.homepageTrigger
関数が定義されていない場合は、代わりに汎用のホームページ カードが表示されます。 - ユーザーが Google ドライブで 1 つ以上のアイテムを選択してからアドオン アイコンをクリックした場合、またはアドオンが開いている間にアイテムを選択した場合、アドオンは対応する
drive.onItemsSelectedTrigger
コンテキスト関数(存在する場合)を実行します。この関数は、アドオンの Google ドライブのコンテキストの「選択されたアイテム」インターフェースを構築し、表示するために Google ドライブに返します。
アドオンのドライブ インターフェースを構築する
Google ドライブを拡張するインターフェースを構築する一般的な手順は次のとおりです。
- アドオンにドライブ専用のホームページが必要かどうかを決定します。また、ユーザーがドライブ アイテムを選択したときにコンテキスト インターフェースを提供するかどうかも決定します。
- 必要な ドライブ スコープを含め、アドオン スクリプト プロジェクトのマニフェストに適切な
addOns.common
フィールドとaddOns.drive
フィールドを追加します。 - ドライブ固有のホームページを提供している場合は、
drive.homepageTrigger
関数を実装してこのインターフェースを構築します。複数の Google Workspace ホストにcommon.homepageTrigger
インターフェースを使用することもできます。 - ドライブのコンテキスト アイテム選択インターフェースを提供する場合、このインターフェースを構築するために
drive.onItemsSelectedTrigger
コンテキスト トリガー関数を実装する必要があります。詳しくは、選択したアイテムのドライブ コンテキスト インターフェースをご覧ください。 - ボタンのクリックなど、ユーザーの UI 操作に応答するために必要な関連するコールバック関数を実装します。
ドライブのホームページ
Google ドライブでは、Google Workspace アドオンのホームページの表示がサポートされています。Google ドライブにアドオンの共通ホームページを表示するには、アドオンのマニフェストに addOns.drive
フィールドがあることを確認します。
または、アドオン マニフェストに drive.homepageTrigger
を追加して、ドライブ専用のホームページを提供します。
いずれの場合も、アドオンのスクリプト プロジェクトでホームページ トリガー関数の名前を指定する必要があります。この関数は、必要に応じてドライブのホームページをビルドするために自動的に呼び出されます。この関数を実装して、ホームページを構成する単一の Card
または Card
オブジェクトの配列を構築して返す必要があります。ホームページ トリガー関数には、クライアントのプラットフォームなどの一般的な情報を含む イベント オブジェクトがパラメータとして渡されます。イベント オブジェクトのデータを使用して、ホームページの構築をカスタマイズできます。
選択したアイテムのドライブのコンテキスト インターフェース
Google ドライブは、コンテキスト トリガーを使用して、ユーザーが 1 つ以上の Google ドライブ アイテムを選択したときに表示するインターフェース(ある場合)を決定します。トリガーが起動すると、アドオンのマニフェストの drive.onItemsSelectedTrigger.runFunction
フィールドで指定されたコンテキスト トリガー関数が実行されます。
ドライブのコンテキスト アイテム選択インターフェースを作成するには、次の操作を行う必要があります。
アドオンのマニフェストに
https://www.googleapis.com/auth/drive.addons.metadata.readonly
スコープが含まれていることを確認します。マニフェストに
drive.onItemsSelectedTrigger
セクションが含まれていることを確認します。drive.onItemsSelectedTrigger
フィールドで指定された関数を実装します。この関数は、イベント オブジェクトを引数として受け取り、単一のCard
オブジェクトまたはCard
オブジェクトの配列を返す必要があります。他のカードと同様に、インターフェースのウィジェットのインタラクティビティを提供するために使用されるコールバック関数を実装する必要があります。たとえば、インターフェースにボタンを含める場合は、ボタンに Action を関連付け、ボタンがクリックされたときに実行されるコールバック関数を実装する必要があります。
イベント オブジェクト
イベント オブジェクトが作成され、drive.homepageTrigger
または drive.onItemsSelectedTrigger
トリガー関数が呼び出されるときに、これらの関数に渡されます。トリガー関数は、このイベント オブジェクトの情報を使用して、アドオンカードの作成方法を決定したり、アドオンの動作を制御したりできます。
イベント オブジェクトの完全な構造については、イベント オブジェクトをご覧ください。アドオンの動作ホストアプリがドライブの場合、コンテキスト イベント オブジェクトには、ドライブ固有のクライアント情報を保持する ドライブ イベント オブジェクト フィールドが含まれます。
アイテム選択トリガーのコンテキスト ドライブ イベント オブジェクトには、トリガーが起動したときにユーザーが選択したアイテムに関する情報が含まれます。ユーザーがドライブで複数のアイテムを選択すると、そのうちの 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"
},
...
]
},
...
}