【问题标题】:Download files from google drive with the latest SDK?使用最新的 SDK 从谷歌驱动器下载文件?
【发布时间】:2016-05-20 14:03:58
【问题描述】:

我更喜欢 iOS (Objective-C) 代码,但问题与 google drive 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: 执行附加请求并在它们之间链接 2 个结果,不是吗?如何解决这个问题?

【问题讨论】:

    标签: ios objective-c download google-drive-api filelist


    【解决方案1】:

    downloadUrl 已被删除。如果你想下载文件,我已经尝试成功了! How to download pdf from google drive V3 API in IOS?

    【讨论】:

      【解决方案2】:

      参考Download Files,您将使用以下给定网址之一,具体取决于您要执行的下载类型。

      • 下载文件 — files.getalt=media 文件资源
      • 下载并导出 Google 文档 — files.export
      • 将用户链接到文件——来自文件资源的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 来限制只读用户的下载。

      请查看文档以获取有关执行给定类型下载的详细说明。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-05
        相关资源
        最近更新 更多