Drive API v2 与 v3 比较指南

最新的 Google Drive API 版本是 v3。v3 的性能更好 则只会返回一部分字段。除非需要,否则请使用当前版本 v2 集合。如果您使用的是 v2,请考虑 迁移到 v3。如需进行迁移,请参阅迁移到 Drive API v3。如需查看版本差异的完整列表,请参阅 Drive API v2 与 v3 的比较 参考

如果您想继续使用 v2,请参阅 Guide to Drive API v2 修正条款,了解 v3 中的一些说明 指南的内容进行修订。

如需详细了解 Drive API v3 的改进,您可以观看 。

V3 改进

为了优化性能和降低 API 行为的复杂性,v3 提供了以下功能: 与上一 API 版本相比的改进:

  • 默认情况下,搜索文件和共享云端硬盘时不会返回完整的资源, 只返回一部分常用字段。如需详细了解 fields,请参阅 files.list 方法 和 drives.list 方法。
  • 现在,几乎所有返回响应的方法都需要 fields 参数。有关需要 fields 的所有方法的列表,请参阅 云端硬盘 API 参考文档
  • 移除了具有重复功能的资源。部分示例: <ph type="x-smartling-placeholder">
      </ph>
    • files.list 方法完成的功能与 ChildrenParents 集合,因此已从 v3 中移除。
    • 移除了 Realtime.* 方法。
  • 默认情况下,搜索中不会返回应用数据。在 v2 中,您可以设置 drive.appdata 作用域,它从 files.list 返回应用数据 方法和 changes.list 方法,但这样会降低性能。在 v3 中,您设置 drive.appdata 范围, 并将查询参数 spaces=appDataFolder 设置为 应用数据
  • 所有更新操作都使用 PATCH,而不是 PUT。
  • 要导出 Google 文档,请使用 files.export 方法。
  • changes.list 方法的行为有所不同。请不要使用更改 ID,而是使用 不透明页面令牌。要轮询更改集合,请先调用 changes.getStartPageToken 方法。对于后续查询,changes.list 方法会返回 newStartPageToken 值。
  • 更新方法现在会拒绝指定不可写入字段的请求。
  • v2 中的 exportFormatsimportFormats 字段 about资源是 允许的导入或导出格式。在 v3 中,它们是 MIME 类型的映射。 针对所有受支持的导入或导出
  • v2 中的 appdataappfolder 别名在 v3 中现为 appDataFolder
  • properties 资源已从 v3 中移除。通过 files 资源包含 properties 字段 包含真正的键值对properties 字段包含公共 属性,appProperties 字段包含私有属性,因此 因为不需要可见性字段
  • files 资源中的 modifiedTime 字段上次更新 有人修改了该文件。在 v2 中,modifiedDate 字段只可变 更新时(如果您设置了 setModifiedDate 字段)。
  • files 资源中的 viewedByMeTime 字段不会自动更新 更新。
  • 要导入 Google 文档格式,请设置适当的目标 mimeType 。在 v2 中,您设置了 ?convert=true
  • 如果格式不受支持,导入操作会返回 400 错误。
  • 读者和评论者无法查看权限。
  • 移除了权限的 me 别名。
  • 部分功能作为请求资源的一部分提供 而是以请求参数的形式提供例如:
    • 在 v2 中,您可以使用 children.delete 从 父级文件夹。
    • 在 v3 中,您对具有files.update ?removeParents=parent_id

其他差异

v3 中的字段和参数名称有所不同。部分示例如下:

  • name 属性替换了 files 资源中的 title
  • Time 是所有日期和时间字段的后缀,而不是 Date
  • 列表操作不使用 items 字段来包含结果集。通过 资源类型为结果提供了一个字段(例如 fileschanges)。