构建 Google 云端硬盘界面

Google Workspace 插件可以提供自定义 使用 Google 云端硬盘时的界面。这样,您就可以向用户提供 提供更多相关信息、自动执行任务,以及连接第三方 复制到 Google 云端硬盘

访问插件界面

如果 Google Workspace 插件的图标显示在云端硬盘界面右侧的图标列中,您就可以在 Google 云端硬盘中打开该插件。答 Google Workspace 插件可以 定义首页界面和/或项选择界面:

  • 如果用户在 Google 云端硬盘中点击插件图标,插件会执行相应的 drive.homepageTrigger 函数(如果有)。此函数会构建并返回首页信息卡,并将其返回到 Google 云端硬盘以供显示。如果拒绝 drive.homepageTrigger 函数,则会显示通用首页卡片。
  • 如果用户在 Google 云端硬盘中选择一项或多项内容,然后点击插件 图标或在插件打开时选择项目,该插件会执行 drive.onItemsSelectedTrigger 上下文函数(如果存在)。此函数用于构建插件的 Google 云端硬盘 上下文“已选择项目”界面 并将其返回给 Google 云端硬盘进行显示

构建插件云端硬盘界面

您可以按照以下常规步骤构建扩展 Google 云端硬盘的接口:

  1. 确定您是否希望插件为云端硬盘专用 首页。 还要确定是否要在用户 选择云端硬盘内容。
  2. 将适当的 addOns.commonaddOns.drive 字段添加到插件脚本项目清单,包括所需的所有 云端硬盘镜重范围
  3. 如果您提供的是云端硬盘专用首页, 实施 drive.homepageTrigger 函数来构建此接口。您还可以选择使用 common.homepageTrigger 多个 Google Workspace 主机的专属界面。
  4. 如果您要提供云端硬盘内容相关项选择界面,则必须 实现 drive.onItemsSelectedTrigger 上下文触发器函数来构建此接口。 如需了解详情,请参阅针对所选内容的云端硬盘情境界面
  5. 实现相关回调函数,以响应用户的 界面交互,例如按钮点击。

云端硬盘首页

Google 云端硬盘支持显示 Google Workspace 插件 首页。 如需在 Google 云端硬盘中显示您的插件通用首页,只需确保插件的清单中包含 addOns.drive 字段即可。

或者,您也可以向插件清单添加 drive.homepageTrigger,以提供专门针对云端硬盘的首页。

无论是哪种情况,您都必须在插件脚本项目中提供首页触发器函数的名称。系统会在需要时自动调用此函数来构建云端硬盘首页。您必须实现此函数,以构建并返回构成首页的单个 CardCard 对象数组。系统会将事件对象作为参数传递给首页触发器函数,其中包含一些常规信息,例如客户端的平台。您可以使用事件对象数据来量身定制首页的构建方式。

针对所选内容显示的 Drive 情境界面

Google 云端硬盘依靠内容相关触发器来确定 (如果有)在用户选择一项或多项 Google 云端硬盘内容时显示。触发器触发时,它会执行插件清单中的 drive.onItemsSelectedTrigger.runFunction 字段指定的内容相关触发器函数。

如需为云端硬盘创建内容相关项选择界面,您必须执行以下操作:

  1. 确保该插件清单包含 https://www.googleapis.com/auth/drive.addons.metadata.readonly scope

  2. 确保清单包含 drive.onItemsSelectedTrigger 部分。

  3. 实现 drive.onItemsSelectedTrigger 字段。 此函数接受 event 对象作为参数,并且必须返回单个 Card 对象或 Card 对象的数组。

  4. 与任何卡片一样,您必须实现用于为界面提供 widget 互动的所有回调函数。例如,如果您在界面中添加一个按钮 它应该有一个附加的 操作 以及一个在用户点击按钮时运行的回调函数。

事件对象

系统会在调用 drive.homepageTriggerdrive.onItemsSelectedTrigger 触发器函数时创建一个事件对象并将其传递给该函数。触发器函数可以使用此事件对象中的信息来确定如何构建插件卡片或以其他方式控制插件行为。

事件对象中介绍了事件对象的完整结构。当云端硬盘是插件的实时托管应用时,情境事件对象包含包含云端硬盘专用客户端信息的 Drive 事件对象字段。

用于项选择触发器的上下文云端硬盘事件对象包含有关触发器触发时用户选择的项的信息。当用户 在云端硬盘中选择了多个项,则其中一项会被视为以下项之一: 主要利益;此项称为“活动光标项”

以下示例展示了 云端硬盘事件对象 传递给 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"
          },
          ...
        ]
      },
      ...
    }