你如何使用Android谷歌驱动器下载文件夹.zip

时间:2013-06-01 00:30:16

标签: java android google-drive-api

我的google云端硬盘中有一个文件夹,其中包含许多文档和图片。我可以通过单独下载每个文件来下载文件夹内容。通过这种方法,我列出了我的谷歌文档中的所有文件,并且只是单独下载了文档或图像。

然而,这种方法非常昂贵,因为它会占用大量的api请求。

我注意到在网络浏​​览器中,您可以点击google驱动器文件夹并选择,将文件夹另存为.zip。

那么,有没有人知道如何使用android google drive api下载个人google驱动器文件夹为.zip?

感谢阅读并感谢任何意见或建议。

1 个答案:

答案 0 :(得分:1)

我认为您无法使用Google Drive API执行此操作。但是,您可以使用Google Apps脚本,但如果您下载太多或大文件,我建议您不要使用此方法。

以下是如何从another thread in stackoverflow

中删除zip文件的示例代码
var folder = DocsList.getFolder('path/to/folder');
folder.createFile(Utilities.zip(folder.getFiles(), 'newFiles.zip'));

此外,如果您在文件夹中有多个具有相同名称的文件,它将无法使用... Google云端硬盘文件夹支持该功能,但Zip文件不支持。

使用多个具有相同名称的文件:

var folder = DocsList.getFolder('path/to/folder');
var names = {};
folder.createFile(Utilities.zip(folder.getFiles().map(function(f){
  var n = f.getName();
  while (!names[n]) { n = '_' + n }
  names[n] = true;
  return f.getBlob().setName(n);
}), 'newFiles.zip'));

希望这有帮助