in

Guardar Archivos Adjuntos de tus Emails de forma automática en Google Drive

Guardar Archivos Adjuntos de tus Emails de forma automática en Google Drive

Como ya es habitual, comenzamos indicando que si no tenéis conocimiento en Google Apps Scripts, para poder tomar control de lo que aquí exponemos, es más que recomendable que os leáis la primera entrada de la serie: Introducción al Manejo de Google Apps script.

En esta entrada del blog, vamos a compartir un snippet con el que vamos a hacer trabajar conjuntamente dos de los servicios más importantes dentro de la Suite de servicios con la que Google nos provee.

Imaginamos que si has acabado en nuestra web, normalmente conocerás Google Drive puesto que es uno de los servicios más expandidos de Google, amén de la presencia en todos los móviles Android de su aplicación instalada por defecto. Sin embargo, en caso de que alguien tenga dudas acerca del concepto del servicio:

“Google Drive es un servicio de alojamiento de archivos que fue introducido por la empresa estadounidense Google el 24 de abril de 2012. Cada usuario cuenta con 15 gigabytes de espacio gratuito para almacenar sus archivos, ampliables mediante diferentes planes de pago. Es accesible a través del sitio web desde computadoras y disponen de aplicaciones para Android e iOS que permiten editar documentos y hojas de cálculo.”.

La principal ventaja de este servicio es la posibilidad de acceder y editar nuestros archivos personales de una forma muy simple y desde cualquier dispositivo.

Una vez hecha la introducción, pasamos a exponer la hoja de ruta para hoy: Guardar los archivos adjuntos de los emails que nos envíen en una carpeta en google drive de forma automática. Este snippet va a tener bastante utilidad para aquellos que tengáis bandejas de correo llenas de archivos adjuntos como facturas, presupuestos o similares, ya que podréis programar el guardado de estos archivos de forma automática en una carpeta de Google Drive, para tenerlos accesibles y fácilmente localizables en todo momento. Tarea que en caso de ser realizada a mano conllevaría múltiples clicks en cada uno de los adjuntos de cada uno de los emails, con su correspondiente “Guardar en Google Drive”. Esto ya no sólo nos ahorra tiempo, sino que también nos da seguridad. Ya que si por ejemplo, lo que tenemos almacenadas son facturas, nos aseguramos de tener un duplicado online en el que podemos localizar los archivos fácilmente.

Tras esto, aquí presentamos el snippet:

 var drivefoldername = '##NOMBRE DE LA CARPETA EN LA QUE DESEAMOS QUE SE ALMACENEN LOS ARCHIVOS ADJUNTOS DE NUESTROS EMAILS##';   var inone = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA BANDEJA DONDE QUIERAS BUSCAR LOS MAILS##'; var labelone = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA ETIQUETA QUE TIENEN LOS EMAILS QUE QUIERES ENCONTRAR##'; var fromone = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR LA DIRECCION DE CORREO DEL REMITENTE DEL CORREO QUE QUIERAS ENCONTRAR##'; var subjectone = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR EL ASUNTO O PARTE DEL ASUNTO DE LOS CORREOS QUE QUIERAS ENCONTRAR##';  var intwo = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA BANDEJA DONDE QUIERAS BUSCAR LOS MAILS##'; var labeltwo = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA ETIQUETA QUE TIENEN LOS EMAILS QUE QUIERES ENCONTRAR##'; var fromtwo = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR LA DIRECCION DE CORREO DEL REMITENTE DEL CORREO QUE QUIERAS ENCONTRAR##'; var subjecttwo = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR EL ASUNTO O PARTE DEL ASUNTO DE LOS CORREOS QUE QUIERAS ENCONTRAR##';  var inthree = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA BANDEJA DONDE QUIERAS BUSCAR LOS MAILS##'; var labelthree = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA ETIQUETA QUE TIENEN LOS EMAILS QUE QUIERES ENCONTRAR##'; var fromthree = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR LA DIRECCION DE CORREO DEL REMITENTE DEL CORREO QUE QUIERAS ENCONTRAR##'; var subjectthree = '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR EL ASUNTO O PARTE DEL ASUNTO DE LOS CORREOS QUE QUIERAS ENCONTRAR##';   var queryone = ''; if (inone != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA BANDEJA DONDE QUIERAS BUSCAR LOS MAILS##' && inone.length > 0){   queryone = queryone + 'in:' + inone; } if (labelone != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA ETIQUETA QUE TIENEN LOS EMAILS QUE QUIERES ENCONTRAR##' && labelone.length > 0){   if (queryone.length > 2){     queryone = queryone + ' label:' + labelone;   } else {     queryone = queryone + 'label:' + labelone;   } } if (fromone != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR LA DIRECCION DE CORREO DEL REMITENTE DEL CORREO QUE QUIERAS ENCONTRAR##' && fromone.length > 0){   if (queryone.length > 2){     queryone = queryone + ' from:' + fromone;   } else {     queryone = queryone + 'from:' + fromone;   } } if (subjectone != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR EL ASUNTO O PARTE DEL ASUNTO DE LOS CORREOS QUE QUIERAS ENCONTRAR##' && subjectone.length > 0){   if (queryone.length > 2){     queryone = queryone + ' subject:' + subjectone;   } else {     queryone = queryone + 'subject:' + subjectone;   } }  var querytwo = ''; if (intwo != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA BANDEJA DONDE QUIERAS BUSCAR LOS MAILS##' && intwo.length > 0){   querytwo = querytwo + 'in:' + intwo; } if (labeltwo != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA ETIQUETA QUE TIENEN LOS EMAILS QUE QUIERES ENCONTRAR##' && labeltwo.length > 0){   if (querytwo.length > 2){     querytwo = querytwo + ' label:' + labeltwo;   } else {     querytwo = querytwo + 'label:' + labeltwo;   } } if (fromtwo != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR LA DIRECCION DE CORREO DEL REMITENTE DEL CORREO QUE QUIERAS ENCONTRAR##' && fromtwo.length > 0){   if (querytwo.length > 2){     querytwo = querytwo + ' from:' + fromtwo;   } else {     querytwo = querytwo + 'from:' + fromtwo;   } } if (subjecttwo != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR EL ASUNTO O PARTE DEL ASUNTO DE LOS CORREOS QUE QUIERAS ENCONTRAR##' && subjecttwo.length > 0){   if (querytwo.length > 2){     querytwo = querytwo + ' subject:' + subjecttwo;   } else {     querytwo = querytwo + 'subject:' + subjecttwo;   } }  var querythree = ''; if (inthree != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA BANDEJA DONDE QUIERAS BUSCAR LOS MAILS##' && inthree.length > 0){   querythree = querythree + 'in:' + inthree; } if (labelthree != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR UNO DE LOS COMENTADOS EN EL ARTICULO DEPENDIENDO DE LA ETIQUETA QUE TIENEN LOS EMAILS QUE QUIERES ENCONTRAR##' && labelthree.length > 0){   if (querythree.length > 2){     querythree = querythree + ' label:"' + labelthree + '"';   } else {     querythree = querythree + 'label:' + labelthree + '"';   } } if (fromthree != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR LA DIRECCION DE CORREO DEL REMITENTE DEL CORREO QUE QUIERAS ENCONTRAR##' && fromthree.length > 0){   if (querythree.length > 2){     querythree = querythree + ' from:' + fromthree;   } else {     querythree = querythree + 'from:' + fromthree;   } } if (subjectthree != '##SUSTITUYE ESTE TEXTO ENTRE COMILLAS POR EL ASUNTO O PARTE DEL ASUNTO DE LOS CORREOS QUE QUIERAS ENCONTRAR##' && subjectthree.length > 0){   if (querythree.length > 2){     querythree = querythree + ' subject:"' + subjectthree + '"';   } else {     querythree = querythree + 'subject:' + subjectthree + '"';   } }   var ladate = new Date();  function getEmailAttachmetstoDrive() {   var unthreads = [];   if (queryone.length > 0){unthreads = unthreads.concat(GmailApp.search(queryone));}   if (querytwo.length > 0){unthreads = unthreads.concat(GmailApp.search(querytwo));}   if (querythree.length > 0){unthreads = unthreads.concat(GmailApp.search(querythree));}    var unmails = [];   for (var i in unthreads){     var mails = unthreads[i].getMessages();     for (var j in mails){       if (mails[j]){         unmails.push(mails[j]);       }     }   }    var lacuenta = 0;   for (var h in unmails){     var unfrom = unmails[h].getFrom();     var unsubject = unmails[h].getSubject();     var unattachment = unmails[h].getAttachments();          for (var k in unattachment){       unattachment[k].setName(unfrom + '-' + unsubject + '-' + lacuenta);       saveBlobtoDrive(unattachment[k]);       lacuenta = lacuenta + 1;     }   }    }  function saveBlobtoDrive(onething){   var fileweno = DriveApp.createFile(onething);   var folder = DriveApp.getFoldersByName(drivefoldername);   if (folder.hasNext() === true){     var folderwena = folder.next();   } else {     var folderwena = DriveApp.createFolder(drivefoldername);   }      fileweno.makeCopy(folderwena);   fileweno.setTrashed(true); }

Tras echar un primer vistazo, si alguno sigue las entradas de nuestro blog, podrá observar que este snippet guarda bastante similitud con el que anota emails de Gmail en una hoja de cálculo mediante Google Apps.

El reutilizar snippets es un concepto muy muy útil, y que va a resultar de gran utilidad para los usuarios más avanzados que no se se sientan incómodos realizando pequeñas modificaciones y ajustes.

Una vez dicho esto, la forma de dejar operativo este snippet es básicamente modificarlo para incluir el nombre de la carpeta en la que queremos que se guarden los archivos adjuntos y posteriormente rellenar los inone, labelone, fromone, y subjectone siguiendo las instrucciones de anota emails de Gmail en una hoja de cálculo mediante Google Apps, para especificar de qué correos dentro de nuestra cuenta queremos guardar los adjuntos. Comentar que en caso de no existir una carpeta con ese nombre en el Google Drive del usuario que lo ejecuta, el snippet está preparado para generarla, con el nombre escogido.

Guardar Archivos Adjuntos de tus Emails de forma automática en Google Drive: Muestra de adjuntos almacenados

Como podéis ver, mecanizar tareas es más sencillo de lo que parece. Y hasta ahora, lo hemos hecho todo de manera gratuita. Pero esto no ha hecho más que empezar. La combinación de servicios es la clave y en breve llegaremos a ello.

¿Qué opinas?

Escrito por Antonio David Cruz

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Envío de Mensajes Automáticos a Telegram Mediante Google Apps Script

Envío de Mensajes Automáticos a Telegram Mediante Google Apps Script

Registrar Conversaciones de Telegram en una Hoja de Calculo de Google con Apps Script

Registrar Conversaciones de Telegram en una Hoja de Calculo de Google con Apps Script