Большое спасибо за комментарии и ответ.Этот код был слишком сложным для меня, и в итоге я нашел очень не элегантное решение, которое использовал, потому что у меня не хватило времени.Мне удалось получить код для перечисления папки и первого уровня вложенных папок со ссылками, но я пока не смог заставить его перебирать все уровни папок, в основном потому, что мне просто нужно выполнить резервное копирование и изучить множествоосновы.Мне также удалось получить список всех папок с помощью некоторого кода, который я нашел для создания дерева, но я не смог заставить его отформатировать таким образом, чтобы вы могли фактически увидеть структуру или добавить ссылки.Я собираюсь продолжать пытаться, и опубликую, если я разберусь.Вот то, что я использовал, что было хорошо для наших целей, потому что наш общий диск довольно ограничен.
Для справки, это был код, который я использовал для начала: https://superuser.com/questions/1095578/list-of-subfolder-names-and-file-links-in-google-sheets-script
function listFolders(foldername) {
var ss = SpreadsheetApp.openById(ID);
var sheet = ss.getSheetByName("sheet name");
sheet.appendRow("Parent Folder", "Name", "Link" ]);
//change the folder ID below to reflect your folder's ID (look in the
URL when you're in your folder)
var folders = DriveApp.getFolderById(ID);
var contents = folders.getFolders();
var cnt = 0;
var folderD;
while (contents.hasNext()) {
var folderD = contents.next();
cnt++;
data = [
folders.getName(),
folderD.getName(),
folderD.getUrl(),
];
sheet.appendRow(data);
};
};
Исходное сообщение: я новичок в использовании скриптов в листах Google, и я пытаюсь создать список папок на диске Google со многими подпапками.В идеале это будет древовидная форма, но я бы остановился на списке на данный момент.Мне не нужно перечислять все файлы, только папки.Я пытался заставить приведенный ниже код работать, но он продолжает зависать при вызове электронной таблицы.Кто-нибудь может помочь?
Я пытался вызвать обе папки и электронную таблицу по имени и идентификатору, но он всегда говорит мне, что не может выполнить команду getactivespreadsheet.Я также пытался изменить код, указанный в другом другом вопросе, но я не могу заставить его работать также: https://ctrlq.org/code/19923-google-drive-files-list
function generateFolderIndex(myfoldername) {
var folder = DriveApp.getFolderById('0B8vOJQUb-IIVTHdudlZSVkdtdE0');
var subFolders = folder.getFolders();
var childFolders = subFolders
var ss = SpreadsheetApp.getActiveSpreadsheet('1Trv9OtJFnD4AdSHrZKFfsSu6JMV9f78H6wwZNhF2_M4');
var sheet = ss.getSheetByName('Directory');
sheet.clear(directory);
sheet.appendRow([name, link]);
while (subFolders.hasNext())
{
var childFolder = childFolders.next();
var foldername = childFolder.getname();
var name = childFolder.getName()
var link = childFolder.getUrl()
var date = childFolder.getDateCreated()
data = [name, link]
sheet.appendRow(data);
}
};
Я пытаюсь получить лист со списком папок и подпапок сURL ссылки.В настоящее время я получаю следующее сообщение об ошибке: [19-05-31 15: 32: 20: 911 EDT] Ошибка выполнения: не удается найти метод getActiveSpreadsheet (string).(строка 5, файл «Код») [общее время выполнения 0,432 секунды]