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

问题描述:

在尝试将一些Android项目导入到Eclipse中时,我注意到项目中的每个文件在导入后都是0个字节。这些项目存储在云端硬盘上,因此有机会将其恢复到以前的版本。通过Google Drive API获取多个文件的先前版本?

当你有几个文件时,将文件恢复到以前的版本很容易,只需通过浏览器即可完成。但是,我有数百个文件,我需要为每个文件取回一个修订版本。到目前为止,我已经能够手动下载多个文件,但必须有更好的方法。

我已经要求Google的支持,并且实际得到了回复,但很明显,没有内置功能可以执行此操作。所以我开始研究Drive API,但我可以看到可能有一点学习曲线。

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

谢谢!

+0

当你说“获取文件的最后一个版本”。 ,你的意思是“最后的版本”或“最后的版本,但一个”? – pinoyyid 2014-10-30 04:39:33

+0

@Pinoyyid小于当前版本的一个版本。对于每个文件,当前修订为0字节。所以我想检索以前的版本。 – robf 2014-10-30 12:34:20

的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园地生成一个访问令牌https://developers.google.com/oauthplayground/

您还需要在云/ API控制台注册一个项目https://code.google.com/apis/console/

所以你们,这是学习的不成比例做相当简单的事情。对于熟悉驾驶的人来说,这需要几分钟的时间,对于那些不熟悉的人我会猜测3天。你可能想把它放在freelancer.com上。