Cómo importar correos y adjuntos de Gmail a Google Sheets con Apps Script

En este tutorial te voy a mostrar cómo importar correos desde Gmail a Google Sheets, incluyendo los archivos adjuntos, y guardar estos adjuntos automáticamente en una carpeta de Google Drive utilizando Google Apps Script. Este método es ideal si quieres tener un control total y automatizar el proceso de llevar tus correos y documentos importantes a una hoja de cálculo para su análisis o seguimiento. Aprenderás cómo acceder a tu bandeja de entrada, extraer los mensajes y sus adjuntos, y almacenarlos de forma ordenada. Es una solución poderosa para emprendedores, pequeñas empresas y entusiastas de la automatización que desean centralizar la información y ahorrar tiempo en procesos manuales.

Si prefieres ver el tutorial en video, te lo dejo a continuación:

Requisitos previos

Para seguir este tutorial solo necesitas:

  • Una cuenta de Google con acceso a Google Sheets y Gmail.
  • Una carpeta en Google Drive donde se guardarán los adjuntos de los correos.
  • Acceso a Google Apps Script desde tu hoja de cálculo.

Configurando tu entorno en Google Sheets y Drive

Comienza con una hoja de cálculo de Google Sheets en blanco y crea una carpeta en Google Drive donde se almacenarán los archivos adjuntos que extraigas de tus correos. Esto te permitirá mantener todo organizado y tener acceso rápido a los documentos importantes.

Accediendo a Google Apps Script

Desde tu hoja de cálculo, ve al menú Extensiones > Apps Script. Aquí es donde escribirás el código que conectará Gmail con tu hoja y tu carpeta de Drive.

Entendiendo la jerarquía de Gmail en Apps Script

En Gmail, los correos están organizados en cadenas (threads), que pueden contener uno o más mensajes (messages). Cada mensaje puede tener su propio cuerpo y adjuntos. Es importante entender esta jerarquía para poder extraer la información correctamente:

ObjetoDescripción
GmailThreadCadena de correos (puede contener varios mensajes)
GmailMessageMensaje individual dentro de una cadena
AdjuntosArchivos enviados junto a un mensaje

Primer paso: Conectarse a la bandeja de entrada y obtener cadenas

El primer paso es conectarse a tu bandeja de entrada usando el servicio GmailApp y obtener las cadenas de correos. Usamos el método getInboxThreads, que devuelve un arreglo de cadenas. Es recomendable limitar la cantidad de correos para evitar errores si tienes una bandeja muy grande.

function traerCorreos() {
  var cadenas = GmailApp.getInboxThreads(0, 1); // Trae solo la cadena más reciente
  Logger.log(cadenas);
}

En este ejemplo, getInboxThreads(0, 1) trae solo la primera cadena de tu bandeja de entrada. Puedes ajustar los parámetros para traer más correos, pero ten cuidado de no exceder los límites de tu cuenta.

Conceder permisos a tu script

La primera vez que ejecutes el script, Google te pedirá permisos para acceder a tu cuenta de Gmail. Acepta los permisos siguiendo las instrucciones en pantalla. Si tienes problemas, intenta ejecutar el script nuevamente y asegúrate de seleccionar la cuenta correcta.

Recorriendo las cadenas y obteniendo los mensajes

Para procesar cada cadena, usamos forEach. Esto es útil si quieres trabajar con varios correos a la vez. Así accedemos a los mensajes de cada cadena:

cadenas.forEach(function(cadena) {
  var mensajes = cadena.getMessages();
  Logger.log(mensajes);
});

getMessages() devuelve un arreglo de mensajes dentro de la cadena. Así puedes acceder a los detalles de cada correo y, más adelante, a los adjuntos.

Configuraciones importantes en Gmail

Para que el script funcione correctamente, asegúrate de que tu bandeja de entrada esté ordenada de más reciente a más antiguo y que la vista de conversación esté activada. Esto garantiza que el script traiga el correo más reciente y agrupe bien los mensajes por cadenas.

Resumen y próximos pasos

En este tutorial aprendiste cómo conectar Google Sheets con Gmail utilizando Google Apps Script, accediendo a la bandeja de entrada y extrayendo las cadenas y mensajes. Este es el primer paso para automatizar la importación de correos y adjuntos a tu hoja de cálculo y Drive. En un próximo video, veremos cómo hacer lo mismo usando Make, una alternativa más sencilla pero menos personalizable.

Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

JuanSGuzman
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.