使用最新的 SDK 从 google 驱动器下载文件?
Download files from google drive with the latest SDK?
我更喜欢 iOS (Objective-C) 代码,但问题是 link 使用 google 驱动器 API 编辑的。所以任何其他编程语言的解决方案都可能属于这里。
我之前的代码:
GTLQueryDrive *query = [GTLQueryDrive queryForFilesList];
query.q = ...;
... //send query and get links to files
但它仅在 Google Drive API v2 中是正确的 - 查询返回了 GTLDriveFile
个对象的列表和 GTLDriveFile
包含的字段 downloadUrl
。
但是 Google Drive API v3 没有这样的字段,根据 this document 我应该使用 queryForFilesGetWithFileId:
和 link 2 执行额外的请求他们之间的结果,我不应该吗?如何解决这个问题?
downloadUrl 已被删除。如果你要下载文件,我已经试过了!
How to download pdf from google drive V3 API in IOS?
关于 Download Files,您将使用下面给定的 URL 之一,具体取决于您要执行的下载类型。
- 下载文件 —
files.get
具有 alt=media
文件资源
- 下载并导出 Google 文档 —
files.export
- Link 用户到文件 —
webContentLink
来自文件资源
例如,要使用 alt=media
下载文件,您可以向文件资源 URL 发出授权的 HTTP GET
请求并包含查询参数 alt=media。使用示例请求格式:
GET https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs
如前所述,您的应用必须获得允许读取文件内容的范围授权。并且,使用 drive.readonly.metadata
范围的应用将无权下载文件内容。具有编辑权限的用户可以通过将 viewersCanCopyContent
字段设置为 true 来限制只读用户的下载。
请查看文档以获取执行给定类型下载的详细说明。
我更喜欢 iOS (Objective-C) 代码,但问题是 link 使用 google 驱动器 API 编辑的。所以任何其他编程语言的解决方案都可能属于这里。
我之前的代码:
GTLQueryDrive *query = [GTLQueryDrive queryForFilesList];
query.q = ...;
... //send query and get links to files
但它仅在 Google Drive API v2 中是正确的 - 查询返回了 GTLDriveFile
个对象的列表和 GTLDriveFile
包含的字段 downloadUrl
。
但是 Google Drive API v3 没有这样的字段,根据 this document 我应该使用 queryForFilesGetWithFileId:
和 link 2 执行额外的请求他们之间的结果,我不应该吗?如何解决这个问题?
downloadUrl 已被删除。如果你要下载文件,我已经试过了! How to download pdf from google drive V3 API in IOS?
关于 Download Files,您将使用下面给定的 URL 之一,具体取决于您要执行的下载类型。
- 下载文件 —
files.get
具有alt=media
文件资源 - 下载并导出 Google 文档 —
files.export
- Link 用户到文件 —
webContentLink
来自文件资源
例如,要使用 alt=media
下载文件,您可以向文件资源 URL 发出授权的 HTTP GET
请求并包含查询参数 alt=media。使用示例请求格式:
GET https://www.googleapis.com/drive/v3/files/0B9jNhSvVjoIVM3dKcGRKRmVIOVU?alt=media
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs
如前所述,您的应用必须获得允许读取文件内容的范围授权。并且,使用 drive.readonly.metadata
范围的应用将无权下载文件内容。具有编辑权限的用户可以通过将 viewersCanCopyContent
字段设置为 true 来限制只读用户的下载。
请查看文档以获取执行给定类型下载的详细说明。