【发布时间】:2019-10-17 15:55:17
【问题描述】:
我的 Google Drive 文件被另一个子文件夹所有者意外删除,现在我可以将此文件视为孤立文件,但无法识别确切位置,我想恢复孤立文件的文件结构。有一个选项可以借助 Google API 恢复文件结构,但我对 API 没有足够的了解。在这件事上我会很感激一些帮助。
【问题讨论】:
标签: google-apps-script file-upload google-api google-drive-api
我的 Google Drive 文件被另一个子文件夹所有者意外删除,现在我可以将此文件视为孤立文件,但无法识别确切位置,我想恢复孤立文件的文件结构。有一个选项可以借助 Google API 恢复文件结构,但我对 API 没有足够的了解。在这件事上我会很感激一些帮助。
【问题讨论】:
标签: google-apps-script file-upload google-api google-drive-api
要恢复文件及其所有文件,包括子文件夹内的文件(等等),您可以使用以下代码:
var FOLDER_TO_RESTORE_ID = 'YOUR_DELETED_FOLDER_ID';
function restoreFolder() {
var root = DriveApp.getFolderById(FOLDER_TO_RESTORE_ID);
var restoreq = [root];
while (restoreq.length > 0) {
var item = restoreq.pop();
item.setTrashed(false);
if (isFolder(item)) {
var childFiles = item.getFiles();
while (childFiles.hasNext()) {
var file = childFiles.next();
file.setTrashed(false);
}
var childFolders = item.getFolders();
while (childFolders.hasNext()) {
restoreq.push(childFolders.next());
}
}
}
}
function isFolder(obj) {
return Object.prototype.hasOwnProperty.call(obj, 'createFile');
}
您只需将YOUR_DELETED_FOLDER_ID 替换为适当的值并执行它。
这将访问根文件夹(取消垃圾)并递归访问其所有子文件夹(文件夹和文件)。
【讨论】: