从Google Drive API v3下载Gdoc修订版

时间:2017-04-16 02:31:55

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

你不能我知道。来自docs

  

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

但我想根据日期下载(pdf)同一Gdoc文件的不同版本。在Drive Web应用程序中,您可以查看版本并打印它们或将版本恢复到头部。有没有办法实现使用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,我可以弄明白。

1 个答案:

答案 0 :(得分:2)

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

imho,提供的库会导致他们解决的问题。即使完全支持​​v2 API,这也是库掩盖对v2 API的访问的一个例子。因此,在您的代码中,您需要从驱动器服务对象中提取访问令牌,将其设置为http Authorization: Bearer 4a343234we43w43w44标头,然后进行两次GET REST调用以获取修订列表,然后获取与之对应的URL pdf在exportLinks。