使用资源密钥访问链接共享的云端硬盘文件

您可以使用 云端硬盘界面 或通过 Google Drive API 与他人共享 Google 云端硬盘文件和文件夹。通过云端硬盘共享文件时,您可以控制用户是能够编辑文件或评论文件,还是只能打开文件。

资源密钥有助于保护文件免遭意外访问。 资源密钥是传递的额外参数,以便用户可以访问使用链接共享的某些文件。之前未查看过该文件的用户必须提供资源密钥才能获得访问权限。最近查看过该文件或拥有直接访问权限的用户不需要使用资源密钥即可访问该文件。

只有能够访问 type=usertype=group permissions 资源的用户才能发现通过链接共享的云端硬盘文件。如果用户仅拥有使用 type=domaintype=anyone 权限访问这些通过链接共享的文件的权限,则可能需要使用资源密钥。

如需详细了解权限,请参阅共享文件、文件夹和云端硬盘。如需查看角色的完整列表以及每个角色允许的操作 ,请参阅角色和权限

从文件中读取资源密钥

Drive API 会在 files 资源的只读 resourceKey 字段中返回文件的资源密钥。

如果文件是 云端硬盘快捷方式,则 快捷方式目标的资源密钥会在只读 shortcutDetails.targetResourceKey 字段中返回。

files 资源中返回网址的字段(例如 exportLinkswebContentLinkwebViewLink)也包含 resourceKey。与云端硬盘界面集成的客户端还可以在 resourceKeys state 参数中使用。如需了解详情,请参阅下载和导出 文件

在请求中设置资源密钥

对 Drive API 的请求引用的任何文件的资源密钥都设置在 X-Goog-Drive-Resource-Keys HTTP 标头中。

对云端硬盘 API 的请求可以使用 X-Goog-Drive-Resource-Keys HTTP 标头指定一个或多个资源密钥。

语法

文件 ID 和资源密钥对使用正斜杠 (/) 分隔符设置在标头中。标头是通过使用英文逗号 (,) 分隔符组合所有文件 ID 和资源密钥对来构建的。

例如,假设有一个请求将文件 fileId1 从文件夹 fileId2 移动到文件夹 fileId3。假设这三个文件的资源密钥分别为 resourceKey1resourceKey2resourceKey3。使用正斜杠和英文逗号分隔符从这些值构建的标头如下所示:

    X-Goog-Drive-Resource-Keys: fileId1/resourceKey1,fileId2/resourceKey2,fileId3/resourceKey3