如何从共享 Google 驱动器文件夹中恢复已删除的文档?

How do I restore deleted documents from shared Google Drive folders?

一位非特权 Google 云端硬盘用户不小心从整个组织共享的文件夹中删除了大量文件。他们无权完全删除文件,因为他们不是所有者。但是,具有编辑权限的用户可以从共享文件夹中删除文件。这 returns 所有者的用户,但似乎使文件成为孤立的,没有父文件夹。

这些文件属于不同的用户。

如何将这些文件恢复到正确的文件夹中? Google 驱动器审核日志包含的信息不足以正确还原文件夹 - "Remove from folder" 事件中未包含父文件夹 ID。

Google 驱动器包含在 Google Apps Admin SDK 的 Reports API 中。它提供与 Google Drive Audit Log 类似的信息,但具有额外的元数据。这包括已删除文件的父文件夹 ID。

要恢复文件,您应该首先使用 Activities:list 方法在报告 API 中查询相关用户在相关时间段内删除的文件。

然后您需要设置一个 Google Apps service account(这有点令人困惑),以允许您冒充已删除文档的所有者。

最后,您可以遍历已删除文件的事件报告,并使用 Google Drive REST API 中的 Files: patch 方法将父 ID 重新添加到每个文件的文件。


参见 Gist 使用 Google Drive API 恢复从共享文件夹中删除的文件 例如最后一步。