配置云端硬盘界面集成

如需在用户创建或打开文件时在 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 Drive API 配置页面。
  3. 选择云端硬盘界面集成标签页。
  4. (可选)在应用名称字段中输入一个名称。应用名称会在云端硬盘设置的“管理应用”标签页中向用户显示。
  5. (可选)在简短说明字段中输入一行简短的说明。简短说明会在云端硬盘设置的“管理应用”标签页中向用户显示。
  6. (可选)在详细说明字段中输入完整说明。
  7. 上传一个或多个应用图标,以显示在用户已关联的云端硬盘应用列表和“打开方式”上下文菜单中。图标应为具有透明背景的 PNG 格式。图标最长可能需要 24 小时才能显示在云端硬盘中。

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

    • 此网址必须包含完全限定域名;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} 文件 ID 的 JSON 字典,映射到其各自的资源键。 打开网址
{folderId} 父级文件夹的 ID。 “新建”网址
{folderResourceKey} 父级文件夹的资源密钥。 “新建”网址
{userId} 用于标识用户的个人资料 ID。 打开网址和新网址
{action} 要执行的操作。如果使用 Open 网址,值为 open;如果使用新网址,则值为 create 打开网址和新网址

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

新网址的 JSON 状态信息示例

新网址的 state 信息如下:

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

Open 网址 的 JSON 格式信息示例

Open 网址 的 state 信息如下:

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

ID 和资源密钥用于提取文件元数据和下载文件内容。应用获得文件 ID 和访问令牌后,就可以检查权限、提取文件元数据以及下载文件内容,如 files.get 方法中所述。

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