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