Google Workspace 外掛程式可在使用者使用 Google 雲端硬碟時提供自訂介面。這樣您就能為使用者提供其他相關資訊、自動化工作,以及將第三方系統連結至 Google 雲端硬碟。
存取外掛程式 UI
您可以在 Google 雲端硬碟中開啟 Google Workspace 外掛程式,如果圖示出現在雲端硬碟使用者介面右側的圖示欄中。Google Workspace 外掛程式可以定義首頁介面、項目選取介面,或同時定義兩者:
- 如果使用者在 Google 雲端硬碟中點選外掛程式圖示,外掛程式會執行對應的
drive.homepageTrigger
函式 (如果有的話)。這個函式會建構首頁資訊卡並傳回 Google 雲端硬碟以供顯示。如未定義drive.homepageTrigger
函式,系統會改為顯示一般首頁資訊卡。 - 如果使用者在雲端硬碟中選取一或多個項目,然後按一下外掛程式圖示,或在外掛程式開啟時選取項目,外掛程式會執行對應的
drive.onItemsSelectedTrigger
比對函式 (如果有的話)。這個函式會建構外掛程式的雲端硬碟關聯「所選項目」介面,然後傳回 Google 雲端硬碟以供顯示。
建立雲端硬碟雲端硬碟介面
您可以按照以下一般步驟來建立能擴充 Google 雲端硬碟的介面:
- 決定是否要讓外掛程式擁有雲端硬碟專屬的首頁。此外,也可決定是否要在使用者選取雲端硬碟項目時,提供內容比對介面。
- 在外掛程式指令碼專案資訊清單中新增適當的
addOns.common
和addOns.drive
欄位,包括任何必要的雲端硬碟範圍。 - 如果要提供雲端硬碟專用的首頁,請實作
drive.homepageTrigger
函式來建立這個介面。您也可以選擇將common.homepageTrigger
介面用於多個 Google Workspace 主機。 - 如果要提供雲端硬碟內容項目選取介面,您必須實作
drive.onItemsSelectedTrigger
內容比對觸發條件以建構這個介面。詳情請參閱所選項目的雲端硬碟關聯介面。 - 實作回應使用者 UI 互動所需的相關回呼函式,例如按鈕點擊。
雲端硬碟首頁
Google 雲端硬碟支援顯示 Google Workspace 外掛程式首頁。如要在 Google 雲端硬碟中顯示外掛程式的通用首頁,只需確定外掛程式資訊清單中有 addOns.drive
欄位即可。
您也可以在外掛程式資訊清單中加入 drive.homepageTrigger
,以提供雲端硬碟專用的首頁。
無論是哪一種情況,您都必須在外掛程式的指令碼專案中提供首頁觸發條件函式的名稱。系統會自動呼叫這個函式來建構雲端硬碟首頁。您必須實作這個函式,才能建構並傳回構成首頁的單一 Card
或 Card
物件陣列。首頁觸發條件函式會傳入一個事件物件做為參數,其中包含一些一般資訊,例如用戶端平台。您可以使用事件物件資料來自訂首頁的建構。
雲端硬碟項目比對介面介面
當使用者選取一或多個雲端硬碟項目時,Google 雲端硬碟會依照內容觸發條件判斷要顯示哪些介面 (如果有的話)。觸發觸發條件時,會執行外掛程式資訊清單中 drive.onItemsSelectedTrigger.runFunction
欄位指定的關聯觸發條件函式。
如要為雲端硬碟建立內容項目選取介面,您必須執行下列操作:
確認外掛程式的資訊清單包含
https://www.googleapis.com/auth/drive.addons.metadata.readonly
範圍確認資訊清單包含
drive.onItemsSelectedTrigger
區段。實作
drive.onItemsSelectedTrigger
欄位中指定的函式。此函式接受事件物件做為引數,且必須傳回單一Card
物件或Card
物件的陣列。與任何資訊卡一樣,您必須實作任何為介面提供小工具互動的任何回呼函式。舉例來說,如果您在介面中加入一個按鈕,則按鈕應含有附加的操作,以及在按鈕獲得點擊時執行的實作函式。
事件物件
系統會在呼叫這些函式時,建立事件物件,並傳送至 drive.homepageTrigger
或 drive.onItemsSelectedTrigger
觸發函式。觸發函式可利用此事件物件中的資訊,決定如何建構額外資訊卡或以其他方式控制外掛程式行為。
如需事件物件的完整結構說明,請參閱事件物件一文。當雲端硬碟是外掛程式的行動主機應用程式時,內容比對事件物件會包含包含雲端硬碟專屬用戶端資訊的雲端硬碟事件物件欄位。
用於選取項目觸發條件的內容比對雲端硬碟事件物件,包含觸發條件觸發時使用者選取的項目相關資訊。當使用者在雲端硬碟中選取多個項目時,其中一個項目會視為主要的興趣之一;這個項目稱為「有效遊標項目」。
以下範例顯示傳遞至 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"
},
...
]
},
...
}