配置云端硬盘界面集成

如需在用户创建或打开文件时在 Google 云端硬盘中显示您的应用,您必须先设置云端硬盘界面 (UI) 集成。您还需要进行配置,才能在 Google Workspace Marketplace 中上架您的应用。

启用 Drive API

在使用 Google API 之前,您必须先在 Google Cloud 项目中启用它们。您可以在单个 Google Cloud 项目中启用一个或多个 API。

如需开始与 Google 云端硬盘界面集成,您必须启用 Drive API。这样您就可以使用 API 和界面集成功能了。

  • 在 Google Cloud 控制台中,启用 Google Drive API。

    启用 API

设置云端硬盘界面集成

  1. 在 Google API 控制台中,依次选择“菜单”图标 > API 和服务 > 已启用的 API 和服务

    前往“已启用的 API 和服务”页面

  2. 在“API 和服务”信息中心底部,点击 Google Drive API。系统随即会显示 Google 云端硬盘 API 配置页面。
  3. 选择云端硬盘界面集成标签页。
  4. (可选)在应用名称字段中输入一个名称。应用名称会显示在云端硬盘设置的“管理应用”标签页中。
  5. (可选)在简短说明字段中输入一行简短说明。简短说明会显示在云端硬盘设置的“管理应用”标签页中。
  6. (可选)在详细说明字段中输入完整说明。
  7. 上传一个或多个应用图标,以便在用户关联的云端硬盘应用列表和“打开方式”上下文菜单中显示。图标应采用 PNG 格式,且背景透明。图标最长可能需要 24 小时才会显示在云端硬盘中。

  8. 如需使用云端硬盘界面的“打开方式”菜单项,请在 Open 网址(打开网址)字段中输入应用的网址。“打开方式”上下文菜单会使用此网址。

    • 此网址必须包含完全限定域名;localhost 不起作用。
    • 应用的预期用户应能访问此网址。如果您有多个应用版本(例如,一个面向公开发布,另一个面向向特定用户发布的受限发布),则每个版本都应使用唯一的网址。然后,您可以为每个版本创建不同的应用配置。
    • 您必须先验证此网址的所有权,然后才能在 Google Workspace Marketplace 中列出您的应用。
    • 默认情况下,系统会将 state 查询参数附加到此网址,以便将数据从云端硬盘界面传递到您的应用。如需了解 state 参数的内容,请参阅 state 参数
  9. (可选)在默认 MIME 类型默认文件扩展名字段中输入默认 MIME 类型和文件扩展名。默认 MIME 类型和文件扩展名代表您的应用专门用于打开的文件。例如,您的应用可能会打开用于叠加和编辑图片的内置格式。仅添加标准媒体类型,并确保没有拼写错误。如果您的应用仅打开快捷方式或第三方快捷方式文件,则可以将 MIME 类型留空。

  10. (可选)在辅助 MIME 类型辅助文件扩展名字段中输入辅助 MIME 类型和文件扩展名。次要 MIME 类型和文件扩展名代表您的应用可以打开的文件,但并非特定于您的应用。例如,您的应用可能是可以打开 PNG 和 JPG 图片的图片编辑应用。仅添加标准媒体类型,并确保没有拼写错误。如果您的应用仅打开快捷方式或第三方快捷方式文件,则可以将 MIME 类型留空。

  11. 如需使用云端硬盘界面的“新建”按钮,并让用户使用您的应用创建文件,请选中创建文件复选框。系统会显示新网址和可选的文档名称字段。

    • 此网址必须包含完全限定域名;localhost 不起作用。
    • 您必须先验证此网址的所有权,然后才能在 Google Workspace Marketplace 中列出您的应用。
    • 默认情况下,系统会将 state 查询参数附加到此网址,以便将数据从云端硬盘界面传递到您的应用。如需了解 state 参数的内容,请参阅 state 参数
  12. 新网址字段中输入网址。“新建”按钮会使用此网址将用户重定向到您的应用。

  13. (可选)如果您希望应用打开 Google Workspace 支持的文件,请选中导入复选框。

  14. (可选)如果您的应用必须管理共享云端硬盘中的文件,请选中支持共享云端硬盘复选框。如需详细了解如何在应用中支持共享云端硬盘,请参阅实现共享云端硬盘支持

  15. 点击提交

请求 drive.install 作用域

如需允许应用显示为“打开方式”或“新建”菜单中的选项,请请求 https://www.googleapis.com/auth/drive.install 作用域以与云端硬盘界面集成。请求此范围时,用户会收到类似的对话框:

Google 云端硬盘界面的安装对话框。
图 1. 使用云端硬盘界面范围时的安装对话框。

如需详细了解您可以为云端硬盘应用请求的范围以及如何请求这些范围,请参阅 API 专属授权和身份验证信息

state 参数

默认情况下,系统会将 state 参数附加到“打开网址”和“新建网址”中,以便将数据从云端硬盘界面传递到您的应用。此参数包含一个 JSON 编码的字符串,其中包含模板变量和与应用请求相关的数据。包含的变量取决于所用网址的类型(“打开网址”或“新建网址”):

模板变量 说明 网址应用
{ids} 要打开的文件 ID 的逗号分隔列表。 打开网址
{exportIds} 要导出的文件 ID 的逗号分隔列表(仅在打开内置 Google 文档时使用)。 打开网址
{resourceKeys} 一个 JSON 字典,其中包含映射到各自资源键的文件 ID。 打开网址
{folderId} 父级文件夹的 ID。 “新建”网址
{folderResourceKey} 父级文件夹的资源键。 “新建”网址
{userId} 用于标识用户的个人资料 ID。 “打开网址”和“新建网址”
{action} 正在执行的操作。使用“打开网址”时,此值为 open;使用“新建网址”时,此值为 create “打开网址”和“新建网址”

state 参数采用网址编码,因此您的应用必须处理转义字符并将其解析为 JSON。应用可以检测 state 参数中的 create 值,以验证创建文件的请求。

新网址的 JSON 状态信息示例

新网址的 state 信息如下:

{
  "action":"create",
  "folderId":"FOLDER_ID",
  "folderResourceKey":"FOLDER_RESOURCE_KEY",
  "userId":"USER_ID"
}

以 JSON 格式显示的打开网址状态信息示例

打开网址的 state 信息如下:

{
  "ids": ["ID"],
  "resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
  "action":"open",
  "userId":"USER_ID"
}

ID 和资源键用于提取文件元数据和下载文件内容。您的应用获得文件 ID 和访问令牌后,便可以按照 files.get 方法中所述的方式检查权限、提取文件元数据以及下载文件内容。

已安装的应用必须能够创建、管理和打开从云端硬盘界面启动的操作。如需了解详情,请参阅与云端硬盘界面的“新建”按钮集成与云端硬盘界面的“打开方式”上下文菜单集成