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