用户选择文件并点击云端硬盘界面的“打开方式” 菜单项、云端硬盘重定向 用户访问该应用的打开网址(在配置云端硬盘界面) 集成。
如果您选中了“导入”框(配置云端硬盘界面时) 用户可以选择应用特有和 要打开的 Google Workspace 文件。配置云端硬盘界面时 集成,则特定于应用的文件在“默认 MIME 类型”中定义和 “默认文件扩展名”而 Google Workspace 文件都是在“次要 MIME 类型”中定义的,和“次要文件扩展名” 字段。
对于用户想要打开的每个文件,云端硬盘都会检查其 MIME 与定义的默认和次要 MIME 类型进行对比:
对于“默认 MIME 类型”中定义的 MIME 类型字段中,文件 ID 为 传递给您的应用如需了解如何处理应用专属文件, 请参阅处理应用专属文档的打开网址。
对于“次要 MIME 类型”中定义的 MIME 类型字段, 云端硬盘界面显示一个对话框,询问用户要使用哪种文件类型 将 Google Workspace 文件转换为例如,如果您选择 云端硬盘界面中的 Google 文档文件和“辅助 MIME” 类型"字段表明您的应用支持 text/plain 或 application/pdf, 云端硬盘界面询问用户是否要转换为纯文本 或 PDF。
有关如何使用 Google Workspace 的信息 请参阅处理 Google Workspace 文档的打开网址。 如需查看 Google Workspace 文档和 MIME 类型转换格式列表, 请参阅导出 Google Workspace 的 MIME 类型 文档。
处理应用专属文档的打开网址
如配置云端硬盘界面
集成,
您的应用会收到模板变量,其中包含应用要打开的信息
文件。您的应用会收到一组默认的模板变量
放在 state
参数中。通过
特定于应用的打开网址的默认 state
信息为:
{
"ids": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
此输出包括以下值:
- ID:父级文件夹的 ID。
- RESOURCE_KEYS:映射到文件 ID 的 JSON 字典 各自的资源键
open
:正在执行的操作。使用 Open 时,值为open
网址。- USER_ID:唯一标识用户的个人资料 ID。
您的应用必须按以下步骤处理此请求:
- 验证
action
字段的值是否为open
,以及ids
字段的值是否为 存在。 - 使用
userId
值为用户创建一个新会话。有关 有关已登录用户的信息,请参阅用户和新活动。 - 使用
files.get
方法进行检查 获取文件元数据,以及使用ID
值。 - 如果请求中设置了
resourceKeys
,请将X-Goog-Drive-Resource-Keys
请求标头。如需详细了解 请参阅使用资源访问链接共享文件 密钥。
state
参数经过了网址编码,因此您的应用必须处理转义
字符并将其解析为 JSON。
处理 Google Workspace 文档的打开网址
如配置云端硬盘界面
集成时,您的应用会收到一组默认的
state
参数中的模板变量。默认的 state
信息
为:
{
"exportIds": ["ID"],
"resourceKeys":{"RESOURCE_KEYS":"RESOURCE_KEYS"},
"action":"open",
"userId":"USER_ID"
}
此输出包括以下值:
- EXPORT_ID:以英文逗号分隔的文件 ID 列表, 已导出(仅在打开内置 Google 文档时使用)。
- RESOURCE_KEYS:映射到文件 ID 的 JSON 字典 各自的资源键
open
:正在执行的操作。使用 Open 时,值为open
网址。- USER_ID:用于标识用户的个人资料 ID。
您的应用必须按以下步骤处理此请求:
通过同时检测
open
和state
字段中的值以及是否存在exportIds
字段。使用
files.get
方法进行检查 获取文件元数据,以及使用EXPORT_ID
值。使用
files.export
方法。以下 代码示例展示了如何将 Google Workspace 文档导出到 请求的 MIME 类型。如果请求中设置了
resourceKey
,请将X-Goog-Drive-Resource-Keys
请求标头。如需详细了解 请参阅使用资源访问链接共享文件 密钥。Java
Python
Node.js
PHP
将转换后的文件显示为只读状态,或显示一个对话框,让用户执行以下操作: 将文件另存为新文件类型。
state
参数经过了网址编码,因此您的应用必须处理转义
字符并将其解析为 JSON。
用户和新活动
云端硬盘应用应将所有“打开方式”将事件视为潜在的
登录。某些用户可能有多个账号,因此 state
中的用户 ID
参数可能与当前会话不匹配。如果 state
中的用户 ID
参数与当前会话不匹配,请结束您的
并以请求的用户的身份登录。
相关主题
除了从 Google 云端硬盘界面打开应用外,应用还可以 显示一个文件选择器,用于在应用中选择内容。有关 信息,请参阅 Google 选择器。