当用户使用 Google 云端硬盘时,Google Workspace 加载项可以提供自定义界面。这样一来,您就可以向用户提供更多相关信息、自动执行任务,以及将第三方系统连接到 Google 云端硬盘。
访问插件界面
如果 Google Workspace 插件的图标显示在云端硬盘界面右侧的图标列中,您可以在 Google 云端硬盘中打开该插件。Google Workspace 插件可以定义首页界面、项目选择界面或同时定义这两种界面:
- 如果用户在 Google 云端硬盘中点击插件图标,插件会执行相应的
drive.homepageTrigger
函数(如果有)。此函数用于构建并返回一个 Google 云端硬盘首页信息卡以供显示。如果未定义drive.homepageTrigger
函数,则会改为显示通用首页卡片。 - 如果用户在 Google 云端硬盘中选择一个或多个项目,然后点击插件图标,或者在插件打开时选择项目,插件会执行相应的
drive.onItemsSelectedTrigger
上下文函数(如果有)。此函数会构建插件的 Google 云端硬盘情境“所选内容”界面,并将其返回给 Google 云端硬盘以供显示。
构建插件的 Google 云端硬盘界面
您可以按照以下常规步骤构建扩展 Google 云端硬盘的接口:
- 确定您是否希望插件拥有特定于 Google 云端硬盘的首页。 此外,还要决定是否要在用户选择云端硬盘项目时提供情境界面。
- 将相应的
addOns.common
和addOns.drive
字段添加到插件脚本项目的清单中,包括任何必需的 Drive 范围。 - 如果您要提供特定于 Google 云端硬盘的主页,请实现
drive.homepageTrigger
函数来构建此界面。您还可以选择使用common.homepageTrigger
界面来管理多个 Google Workspace 主机。 - 如果您要提供 Google 云端硬盘上下文相关项选择界面,则必须实现
drive.onItemsSelectedTrigger
上下文触发函数来构建此界面。 如需了解详情,请参阅所选项目的云端硬盘情境化界面。 - 实现响应用户界面互动(例如点击按钮)所需的关联回调函数。
云端硬盘首页
Google 云端硬盘支持显示 Google Workspace 插件首页。
如需在 Google 云端硬盘中显示插件的通用首页,只需确保插件的清单中包含 addOns.drive
字段即可。
或者,您也可以向插件清单添加 drive.homepageTrigger
,以提供特定于 Google 云端硬盘的主页。
无论哪种情况,您都必须在插件的脚本项目中提供首页触发函数的名称。此函数会在需要时自动调用,以构建云端硬盘首页。您必须实现此函数,以构建并返回构成首页的单个 Card
或 Card
对象数组。首页触发函数会收到一个事件对象作为参数,其中包含一些常规信息,例如客户端的平台。您可以使用事件对象数据来定制首页的构建。
为所选内容提供 Drive 上下文界面
Google 云端硬盘依靠上下文触发器来确定当用户选择一个或多个 Google 云端硬盘项目时要显示哪个界面(如果有)。当触发器触发时,它会执行插件清单中 drive.onItemsSelectedTrigger.runFunction
字段指定的上下文触发器函数。
如需为云端硬盘创建上下文相关项选择界面,您必须执行以下操作:
确保插件的清单包含
https://www.googleapis.com/auth/drive.addons.metadata.readonly
scope确保清单包含
drive.onItemsSelectedTrigger
部分。实现
drive.onItemsSelectedTrigger
字段中指定的函数。 此函数接受一个事件对象作为实参,并且必须返回单个Card
对象或Card
对象的数组。与任何卡片一样,您必须实现用于为界面提供 widget 互动性的所有回调函数。例如,如果您在界面中添加了一个按钮,则该按钮应附有 Action,并且实现了一个在点击该按钮时运行的回调函数。
事件对象
当 drive.homepageTrigger
或 drive.onItemsSelectedTrigger
触发函数被调用时,系统会创建 event 对象并将其传递给这些函数。触发函数可以使用此事件对象中的信息来确定如何构建插件卡片或以其他方式控制插件行为。
如需详细了解事件对象的完整结构,请参阅事件对象。 当云端硬盘是插件的实际宿主应用时,上下文事件对象会包含 Drive 事件对象字段,其中包含特定于云端硬盘的客户端信息。
用于项目选择触发器的情境化云端硬盘事件对象包含有关触发器触发时用户已选择的项目的信息。当用户在云端硬盘中选择多个项目时,其中一个项目会被视为主要感兴趣的项目;该项目称为有效光标项目。
以下示例展示了传递给 drive.onItemsSelectedTrigger
函数的 Drive 事件对象:
{
"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"
},
...
]
},
...
}