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

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

资源密钥有助于保护您的文件免遭意外访问。资源密钥是传递的附加参数,可让用户访问已通过链接共享的特定文件。之前未查看过该文件的用户必须提供资源密钥才能获得访问权限。最近查看过文件或直接访问文件的用户不需要资源密钥即可访问文件。

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

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

从文件中读取资源密钥

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

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

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

设置请求的资源密钥

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

向 Drive API 发出的请求可以使用 X-Goog-Drive-Resource-Keys HTTP 标头指定一个或多个资源键。

语法

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

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

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