通过Google Drive API获取多个文件的先前版本?

时间:2014-10-29 22:51:20

标签: google-drive-api

在尝试将一些Android项目导入Eclipse时,我注意到项目中的每个文件在导入后都是0个字节。这些项目存储在Drive上,因此有可能将它们还原回以前的版本。

当您拥有一些文件时,将文件还原到以前的版本很容易 - 您只需通过浏览器即可。但是,我有数百个文件,我需要为每个文件取回一个版本。到目前为止,我已经能够手动下载大量文件,但必须有更好的方法。

我已经向Google提供了支持并且实际上得到了回复,但很明显没有内置功能来执行此操作。所以我开始关注Drive API,但我可以看到可能会有一些学习曲线。

想知道是否有人之前遇到过这种情况?理想情况下,我想识别一个文件夹,并为下面的每个文件,获取文件的最后一个版本。如果有人对此有好的方法,我很乐意听到。

谢谢!

1 个答案:

答案 0 :(得分:0)

执行你想要的pseudeo代码是

# get the id of the folder https://developers.google.com/drive/v2/reference/files/list
fid=file.list(q=title = 'foo')[0]
# get the children of that folder https://developers.google.com/drive/v2/reference/children/list
children = file.children(fid).maxresults=999
# for each child, 
for id in children.id
  # get the revisions https://developers.google.com/drive/v2/reference/revisions/get
  revisions = file.revisions(id)
  # iterate, or take item[1] whatever works best for you, and use its downloadUrl to fetch the file

每次拨打电话,您都需要提供访问令牌。对于类似的内容,您可以使用oauth playground https://developers.google.com/oauthplayground/

生成访问令牌

您还需要在cloud / api控制台https://code.google.com/apis/console/

注册项目

所以,你做一些相当简单的学习是不成比例的。对于熟悉驾驶的人来说,这是几分钟的工作,对于没有驾驶的人,我猜3天。你可能想把它放在freelancer.com上。