Esta es la segunda parte de listar archivos y carpetas y más que nada, ha sido a petición de usuarios que al ver mi primer articulo sobre la búsqueda de archivos me han comentado como hacer lo mismo pero ahora buscando o listando carpetas de Google Drive en Google Sheets
Pues bien manos a la obra, vamos a ver la forma de traer esa importante información a nuestra HCG (Hoja de cálculo de Google) , mediante Google apps script, por cierto(y como la vez anterior) siempre recomiendo dar un paseo por la documentación oficial , para cualquier consulta, pueden mirar:
https://developers.google.com/apps-script/reference/drive/folder
Este ejemplo considera 3 formas de hacerlo, no son las únicas, pero la idea es dejar solo ejemplos de código y su uso, que posteriormente tu puedas adaptar a tus necesidades.
1.- búsqueda general de carpetas
2.-busqueda especifica de subcarpetas
3.-busqueda de carpetas que cumplan cierta condición
aquí una muestra de los datos que se pueden obtener en la HCG (Hoja de cálculo de Google), la imagen corresponde a la lista de todos los formularios existentes en una carpeta especifica, por cierto recordemos que os archivos nativos no tienen peso en Google Drive, por eso en la última columna el dato es cero.
para realizar este ejercicio y tener éxito en su implementación, se requiere como mínimo:
conocer el manejo básico de rangos mediante Google apps script
conocimientos básicos sobre bucles en Javascript
saber obtener el ID de un folder o carpeta
conocer o consultar las siguientes referencias
Búsqueda de folders.- https://developers.google.com/apps-script/reference/drive/folder
Folder por ID.- https://developers.google.com/apps-script/reference/drive/drive-app#getfolderbyidid
Por coincidencia .- https://developers.google.com/apps-script/reference/drive/drive-app#searchfoldersparams
términos de búsqueda.- https://developers.google.com/drive/api/v2/ref-search-terms
Puedes mirar le video y pausarlo las veces que necesites y/o acceder al código en los siguientes aparatados:
si el tema fue de utilidad, regálame 👍 una manita arriba en el canal de YouTube y suscríbete 😉 !!:
function ListarCarpetas1(){
var Hoja2 = SpreadsheetApp.getActive().getSheetByName("Hoja 2");
var cabecera = ["Nombre","ID","creado","tamaño","URL"];
Hoja2.appendRow(cabecera);
var folders = DriveApp.getFolders();
var datos =[];
while (folders.hasNext()) {
var folder = folders.next();
datos = [folder.getName(),folder.getId(),folder.getDateCreated(),
folder.getSize(),folder.getUrl()];
Hoja2.appendRow(datos);
}
}
function BuscarCarpetas(){
var folders = DriveApp.searchFolders('title contains "Curso"');
var data, sheet = SpreadsheetApp.getActive().getSheetByName("Hoja 1");
var idfolder = 1;
sheet.clear();
sheet.appendRow(["ID", "Nombre", "Tamaño", "URL", "Propietario", "Ultima Actual."]);
while (folders.hasNext()) {
var folder = folders.next();
idfolder = folder.getId();
data = [idfolder,folder.getName(),folder.getSize(),folder.getUrl(),
folder.getOwner(),folder.getLastUpdated()];
sheet.appendRow(data);
}
}
function ListarCarpetas2(){
var Hoja3 = SpreadsheetApp.getActive().getSheetByName("Hoja 3");
var cabecera = ["Nombre","ID","creado","tamaño","URL"];
Hoja3.appendRow(cabecera);
//var folders = DriveApp.getFolders();
var folders = DriveApp.getFolderById("aquí va el ID de tu carpeta").getFolders();
var datos =[];
while (folders.hasNext()) {
var folder = folders.next();
datos = [folder.getName(),folder.getId(),folder.getDateCreated(),
folder.getSize(),folder.getUrl()];
Hoja3.appendRow(datos);
}
}
nota:
si no sabes como copiar el código en el editor de secuencia de comandos, solo ve al menú herramientas / editor de secuencia de comandos y copia-pega el código o mira este vídeo de apoyo
Síguenos y suscríbete en: