Получить список папок на Gsuite Google Drive, перечислить их в алфавитном порядке на Google Sheet - PullRequest
0 голосов
/ 14 января 2020

Попытка получить список папок (не подпапок или файлов) на общем диске Gsuite для заполнения листа Google Sheet, но приведенный ниже скрипт завершается неудачно после первого раза и не перезаписывает список при повторном запуске.

Я пробовал довольно много вариантов, но моя проблема в том, что: 1. Я хотел бы, чтобы был создан третий столбец, показывающий html 2. Сценарий работает один раз, но когда я ссылаюсь sh или помещаю триггер на листе больше не работает или не обновляется.

Вот мой текущий код:

function listFilesInFolder(folderName) {
var sheet = SpreadsheetApp.getActiveSheet();
sheet.appendRow(["Name", "File-Id"]);
//change the folder ID below to reflect your folder's ID (look in the            URL when you're in your folder)
var folder = DriveApp.getFolderById("0ADTcDD3ZSaa5Uk9PVA");
var contents = folder.getFolders()

var cnt = 0;
var file;

while (contents.hasNext()) {
    var file = contents.next();
    cnt++;

       data = [
            file.getName(),
            file.getId(),
        ];

        sheet.appendRow(data);
    };
};

Любые предложения о том, как: 1. Получить список папок для обновления каждый час на гугл лист? 2. Исправить ошибку, когда список папок не обновляется / не перезаписывается? 3. Добавить html каждой папки в третий столбец? 4. Составлен ли список в алфавитном порядке?

Заранее большое спасибо, если вы сделали это так далеко!

1 Ответ

0 голосов
/ 14 января 2020
function listFoldersInAFolder() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  sh.clearContents();
  sh.appendRow(["Name", "Folder-URL"]);
  var fA=[];
  var folders=DriveApp.getFolderById("folder id").getFolders();//Enter folder id
  while (folders.hasNext()) {
    var folder= folders.next();
    fA.push([folder.getName(),folder.getUrl()]);
  }
  sh.getRange(sh.getLastRow()+1,1,fA.length,2).setValues(fA);
  sh.getRange(2,1,sh.getLastRow()-1,2).sort({column:1,ascending:true});
}

Если вы хотите получить все папки и подпапки, вам придется их заполнить. Вот пример этого: { ссылка }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...