Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Automatizador de listado de archivos en Google drive
- // Traido para ustedes por el blog: sectemple.blogspot.com - Tu fuente de noticias y tips de // hacking y seguridad informática.
- // post: //https://sectemple.blogspot.com/2022/10/automatiza-listados-de-archivos-en-google-drive-con-//carpetas.html
- // Autor original: ourtechroom.com/fix/list-all-googledrive-links-files-folder-to-googlesheet/
- // Instrucciones:
- // crea una nueva hoja de google spreadsheets
- // ve a tools -> Script editor
- // copia y pega el código de abajo . Salva en el icono de salvar.
- // refresca la hoja de cálculo. Deberías ver un botón nuevo que dice list files/folders
- // te pedira el id de la carpeta. Copia y pegala
- // Dale a ok. Y mira como se hace automaticamente
- // desde aquí comienza el codigo
- //Instrucciones:
- function onOpen() {
- var SS = SpreadsheetApp.getActiveSpreadsheet();
- var ui = SpreadsheetApp.getUi();
- ui.createMenu('List Files/Folders')
- .addItem('List All Files and Folders', 'listFilesAndFolders')
- .addToUi();
- };
- function listFilesAndFolders(){
- var folderId = Browser.inputBox('Enter folder ID', Browser.Buttons.OK_CANCEL);
- if (folderId === "") {
- Browser.msgBox('Folder ID is invalid');
- return;
- }
- getFolderTree(folderId, true);
- };
- // Get Folder Tree
- function getFolderTree(folderId, listAll) {
- try {
- // Get folder by id
- var parentFolder = DriveApp.getFolderById(folderId);
- // Initialise the sheet
- var file, data, sheet = SpreadsheetApp.getActiveSheet();
- sheet.clear();
- sheet.appendRow(["Full Path", "Name","Type" ,"Date", "URL", "Last Updated", "Description", "Size","Owner Email"]);
- // Get files and folders
- getChildFolders(parentFolder.getName(), parentFolder, data, sheet, listAll);
- } catch (e) {
- Logger.log(e.toString());
- }
- };
- // Get the list of files and folders and their metadata in recursive mode
- function getChildFolders(parentName, parent, data, sheet, listAll) {
- var childFolders = parent.getFolders();
- // List folders inside the folder
- while (childFolders.hasNext()) {
- var childFolder = childFolders.next();
- var folderId = childFolder.getId();
- data = [
- parentName + "/" + childFolder.getName(),
- childFolder.getName(),
- "Folder",
- childFolder.getDateCreated(),
- childFolder.getUrl(),
- childFolder.getLastUpdated(),
- childFolder.getDescription(),
- childFolder.getSize()/1024,
- childFolder.getOwner().getEmail()
- ];
- // Write
- sheet.appendRow(data);
- // List files inside the folder
- var files = childFolder.getFiles();
- while (listAll & files.hasNext()) {
- var childFile = files.next();
- data = [
- parentName + "/" + childFolder.getName() + "/" + childFile.getName(),
- childFile.getName(),
- "Files",
- childFile.getDateCreated(),
- childFile.getUrl(),
- childFile.getLastUpdated(),
- childFile.getDescription(),
- childFile.getSize()/1024,
- childFile.getOwner().getEmail(),
- ];
- // Write
- sheet.appendRow(data);
- }
- // Recursive call of the subfolder
- getChildFolders(parentName + "/" + childFolder.getName(), childFolder, data, sheet, listAll);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement