Google云端硬盘API-在还原原始文件夹之前,先从垃圾桶还原文件,然后还原其原始文件夹

时间:2019-09-24 14:36:03

标签: google-drive-api google-drive-team-drive

场景

  1. Google(团队)驱动器中有很多文件,所有文件都嵌套在文件夹中
  2. 所有这些文件夹及其文件均被误删除。
  3. 在尝试恢复数据时,使用了Web UI上的Restore按钮
  4. Web UI中的Restore按钮似乎并不关心顺序,而是在还原包含文件的文件夹之前先对其进行还原。
  5. 成千上万个文件最终位于驱动器的根目录中,因为从“废纸restored”中恢复后,其文件夹“不存在”。

我需要什么

我如何恢复有关文件驻留位置的信息,以便正确地对此进行修补?

我尝试过的事情:

  1. 使用Revisions: list获取有问题的文件之一的所有修订,然后看到只有1个结果。
  2. 通过Revisions: get获取该修订的修订信息
  3. 意识到修订信息不包含任何有关父母的信息。
  4. 通过Files: get
  5. 获取文件信息
  6. 确认主修订版本元与步骤1中找到的唯一修订版本匹配
  7. 看到文件meta显示父级是根。

我找不到确定垃圾箱和错误还原文件的原始文件夹的方法。

1 个答案:

答案 0 :(得分:2)

经过进一步调查,我认为无法从Google Drive API v3中恢复有关先前父母的信息。

但是,如果您正在使用Google Team Drive(作为G Suite的一部分),则除非您使用G Suite基本帐户,否则您应该可以访问G Suite Admin SDK Reports API。这样,您可以将Activities: list与各种过滤器结合使用,以获取有关孤立文件来自何处的信息。

我已经在这里发布了我的解决方案:Google Team Drive Orphaned File Restorer

此控制台应用程序可以提取两个时间点之间的Google云端硬盘文件移动列表,并可选地按进行更改的用户的IP地址过滤(即,从回收站中还原文件)。然后,它将使用该信息来重新关联有问题的文件。您可以尝试一下,看看在实际提交之前会有什么变化。