【问题标题】:Downloading Gdoc revisions from Google Drive API v3从 Google Drive API v3 下载 Gdoc 修订版
【发布时间】:2017-04-16 02:31:54
【问题描述】:

你不知道。来自docs

获得文件修订列表后,您可以通过使用参数 alt=media 调用 revisions.get 方法来下载任何修订的内容。无法下载 Google 文档、表格和幻灯片的修订版。

但我想根据日期下载(pdf)同一个 Gdoc 文件的不同版本。从云端硬盘网络应用程序中,您可以查看版本并打印它们或将版本恢复到磁头。有什么方法可以使用 API 来实现吗?你能恢复一些版本吗?然后你就可以导出文件了。

我搜索了互联网,但找不到解决方法。

我正在使用 java 客户端 api,当我尝试发出媒体获取请求时,它会给我这个。

{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "location" : "alt",
    "locationType" : "parameter",
    "message" : "Only files with binary content can be downloaded. Use Export with Google Docs files.",
    "reason" : "fileNotDownloadable"
  } ],
  "message" : "Only files with binary content can be downloaded. Use Export with Google Docs files."
}

但我可以弄清楚你是否也可以回答任何其他 API。

【问题讨论】:

    标签: java google-api google-drive-api


    【解决方案1】:

    看起来像是 v3 特定的问题。我建议对该特定呼叫使用 v2。请参阅 https://developers.google.com/drive/v2/reference/revisions#resource ,您将在其中看到修订资源包含一个名为 exportLinks 的数组。在其中你应该找到一个元素 {"pdf":"https://xxxxxxxx"}。在该 URL 上创建经过身份验证的 GET。

    恕我直言,所提供的库导致的问题与解决的问题一样多。这就是库屏蔽对 v2 API 的访问的一个例子,即使 v2 API 是完全支持的。因此,在您的代码中,您需要从驱动服务对象中提取访问令牌,将其设置为 http Authorization: Bearer 4a343234we43w43w44 标头,然后进行两次 GET REST 调用以获取修订列表,然后获取对应于 pdf 的 url导出链接。

    【讨论】:

    • 好的,明白了!我选择使用 v3 是因为我认为最新版本等于新功能。我猜我错了。
    • 嘿,我使用导出链接来获取 pdf,但无论我传入哪个修订 ID,我总是得到头部修订。你处理过这个吗?
    • 在这个stackoverflow.com/questions/43441317/…上发布了一个新问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    • 2020-05-23
    相关资源
    最近更新 更多