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

您可以使用 云端硬盘界面或通过 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