Как использовать Google Drive API для восстановления удаленных данных - PullRequest
1 голос
/ 17 октября 2019

Мой файл Google Диска был случайно удален другим владельцем подпапки, теперь я вижу этот файл как потерянный файл, но не могу определить точное местоположение, и я хочу восстановить файловую структуру потерянных файлов. Существует один вариант восстановления файловой структуры с помощью Google API, но я не обладаю достаточными знаниями об API. Буду признателен за помощь в этом вопросе.

1 Ответ

0 голосов
/ 18 октября 2019

Чтобы восстановить файл и все его файлы, включая файлы внутри подпапок (и т. Д.), Вы можете использовать следующий код:

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 для егосоответствующее значение и выполнить его. Это будет посещение корневой папки (ее удаление) и рекурсивное посещение всех ее дочерних элементов (папок и файлов).

...