首页 > 解决方案 > 必需的 Drive API 更新

问题描述

像其他用户一样,我收到了一封来自谷歌的电子邮件,其中我必须在 13 日之前更新我的代码。我已经阅读了其他主题,但我仍然感到困惑,因为没有太多关于那个的答案......

我有我使用的脚本,但它是由其他同事创建的,我不知道 tod 做什么,我不知道......所以,这是电子邮件

我需要知道什么?

具有 type=domain 或 type=anyone 的 Drive API 权限的项目,其中 withLink=true (v2) 或 allowFileDiscovery=false (v3),将受到此安全更新的影响。

除了项目 ID,您的应用程序现在可能还需要一个资源密钥来访问这些项目。如果没有资源密钥,对这些项目的请求可能会导致 404 Not Found 错误(有关详细信息,请参见下文)。请注意,对直接与用户或组共享的项目的访问不受影响。

这种变化会影响我吗?

如果您的应用程序使用 Drive API 访问通过链接共享与用户共享的文件,您的应用程序可能会受到此更改的影响。

我需要做什么?

为避免访问文件时出错,您必须更新用于访问文件的代码以包含适当的资源键。有关如何对每个受影响的 Drive API 执行此操作的详细信息如下:

Drive API 的变化

项目的资源密钥在 Drive API 响应中文件元数据的 resourceKey 字段中返回。

如果文件是快捷方式文件,则快捷方式目标的资源键可以从同一资源的shortcutDetails.targetResourceKey 字段中读取。exportLinks、webContentLink 和 webViewLink 等 URL 类型字段将包含 resourceKey。

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

对 Apps 脚本的更改

Apps 脚本中的 DriveApp 已更新为使用 getResourceKey 方法返回文件或文件夹的资源密钥。

注意:获取文件或文件夹时,可以在 getFileByIdAndResourceKey 或 getFolderByIdAndResourceKey 方法上指定资源键。

驱动 UI 集成的更改

如果您的应用程序与 Drive UI 集成以创建或打开项目,则在从 Drive UI 调用您的应用程序时,它将接收资源密钥。

新 URL 的状态信息将包含 folderResourceKey,它是应在其中创建新项目的文件夹的资源键。

打开 URL 的状态将包含文件 ID 到 resourceKeys 字段中的资源键的映射。

哪些项目可能会受到影响?

您在过去 30 天内使用 Drive API 并可能受此更改影响的项目如下: Script Recogida Datos Cognitiv (project-id-2193222022860412188)

谁能告诉我该怎么做?,因为我不知道从哪里开始。

谢谢你读我

标签: google-drive-api

解决方案


推荐阅读