Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Web Development

Introducción a la API de Gmail

by
Read Time:6 minsLanguages:

Spanish (Español) translation by Javier Salesi (you can also view the original English article)

What You'll Be Creating

En Junio de 2014, Google introdujo su primera API para Gmail. Por primera vez, los usuarios de las cuentas gratuitas de Gmail podían manejar programáticamente sus cuentas de Gmail sin IMAP.

Usando la API, puedes ejecutar muchas de las mismas operaciones disponibles a través de la interfaz de usuario de Gmail, por ejemplo, leer, redactar, y enviar mensajes. También te permite manejar etiquetas en conversaciones y mensajes, y buscar y recuperar mensajes y conversaciones específicas.

La API está basada en REST y puede usarse para accesar a buzones de Gmail y enviar mensajes. Especícamente proporciona control sobre:

  • Autenticación
  • Mensajes y Borradores
  • Etiquetas
  • Conversaciones
  • Historia de la Cuenta

Google sugiere los siguientes casos de uso para la API:

  • Extracción, indexar y respaldar mensajes de solo lectura
  • Manejo de etiquetas (agregar y remover etiquetas)
  • Envío automático o programático de mensajes

Cuando creé mi propia aplicación de manejo de correo electrónico, Simplify Email (leer más sobre ésta en Tuts+ en Creando Características Avanzadas de Email con IMAP y PHP), la única API de correo electrónico de Google estaba restringida a suscriptores de Google Apps que pagaban por el servicio. Así, yo elaboré todo en IMAP. Mientras ésto permitía amplia compatibilidad con otros proveedores de correo electrónico, yo creé algunas limitaciones alrededor del desempeño y la seguridad.

La API proporciona acceso a cuentas de Gmail a través de OAuth. Ésto permite acceso seguro y revocable a cuentas de Gmail que no requieren que los usuarios compartan sus contraseñas de correo con proveedores de aplicaciones.

Con la API de Gmail, puedes enviar y recuperar mensajes, aplicar etiquetas, encontrar mensajes con etiquetas, y manejar correo electrónico dentro de conversaciones.

La historia de cuenta de la API proporciona una bitácora de actividad de mensajes para aplicaciones a referenciar, reduciendo la complejidad de monitorear cambios en cuentas IMAP en tiempo real.

Para ayudar a desarrolladores a adentrarse en la API,  Google está proporcionando  guías de inicio rápido,para Java, .NET y Python. Hay también librerías cliente disponibles para librerías Java, Javascript, .NET, Obective-C, PHP, y Python; Dart, Go, Node.js y Ruby se ofrecen como etapa inicial/en desarrollo.

En general, la API de Gmail de Google es un gran paso para mejorar.

El Potencial de Mejorar Gmail

He estado interesado en extender Gmail desde que escribí Doce Ideas de Gmail para Revolucionar el Correo Electrónico (De Nuevo) en el 2010. La mayoría de las ideas que deseaba, tales como lista blanca y no molestar, se quedaban fuera del alcance sin los esfuerzos de Google o una API. Para una aplicación tan importante como lo es Gmail, la inovación en éstas clases de características fue demasiado lenta.

Nos estamos ahogando en el correo electrónico, y manejar nuestros buzones sigue siendo una carga pesada. Los servicios y clientes de correo han hecho muy poco para ayudarnos en ésto. La mayoría del correo electrónico que recibimos es enviado por máquinas, no por personas, y aún nosotros somos los que tenemos que procesar individualmente todos.

Un análisis de mi propio correo electrónico mostró que estaba recibiendo correo electrónico de más de 230 enviadores automatizados, mucho menos de gente real. Estaba cansado de construir filtros en Gmail y llenar un sinnúmero de formularios para anular suscripciones. Quería tener mayor control sobre manejar mi correo electrónico y simplificar mi vida.

Usando IMAP, podía crea un número de características de manejo de correo electrónico que quería. El resultado fue Simplify Email:

Y ahora, con la API de Gmail, puedes crear soluciones seguras que se desempeñan óptimamente como éstas para Gmail específicamente.

También, en Octubre de 2014, Google anunció Inbox, pero sigue siendo únicamente mediante invitación y la he estado esperando por tres meses.

Vale la pena notar que FastMail (puedes conocer más de él aquí) está encabezando el desarrollo de JMAP, una oferta competitiva a la API propietaria de Gmail, y una con otros proveedores de IMAP podrían teóricamente agregar soporte.

Si estás interesado en aprender más de JMAP, envía un comentario en la sección inferior de la página; puede escribir sobre ello en una fecha posterior.

¿Qué Podemos Hacer con la API de Gmail?

Recorramos las características básicas de la API de Gmail.

Autenticación

La API de Gmail utiliza OAuth 2.0 para manejar autenticación y autorización. Hay tres alcances de autenticación que pueden usarse individualmente o en combinación.

  • Solo lectura, por ejemplo leer un mensaje de Gmail
  • Modificar, por ejemplo cambiar etiquetas aplicadas a una conversación o mensaje.
  • Redactar, por ejemplo enviar mensajes a nombre de un usuario.

Ésto da a los usuarios una variedad de controles de cómo las aplicaciones interactúan con su cuenta.

Componentes de la API

La API de Gmail proporciona cinco tipos de recursos primarios:

Mensajes y etiquetas son las unidades básicas de un buzón. Borradores, historia, y convresaciones contienen uno o más mensajes con metadatos adicionales.

Borradores son mensajes no enviados. Ellos no pueden ser modificados-sólo creados y borrados. También pueden ser enviados.

Etiquetas son lo que usamos como carpetas en Gmail. Ellos ayudan a categorizar y organizar mensajes y conversaciones. Hay etiquetas de sistema tales como BUZON, PAPELERA y SPAM y etiquetas generadas por el usuario tal como VIAJAR.

Conversaciones son colecciones de mensajes que representan una conversación. Las etiquetas pueden agregarse a threads, y los mensajes pueden agregarse a threads.

La Historia es una colección de mensajes recientemente modificados en orden cronológico. La historia puede usarse para sincronizar una aplicación o para recuperar acciones tomadas por el usuario en su cuenta.

Escenarios Comunes

Enviar Mensajes

Puedes enviar mensajes de manera automatizada desde la cuenta del usuario al subir mensajes simples y multiparte y enviarlos.

Buscar Mensajes Recibidos

Dado el ID de un correo electrónico de una petición de búsqueda o historia, puedes descargar su contenido usando get message (obtener mensaje).

Buscando Mensajes

Puedes buscar mensajes y conversaciones que corresponden a consultas de filtros avanzados de Gmail.

Monitorear Cambios a la Cuenta

Puedes recuperar la historia de las acciones de una cuenta en los últimos 30 dias con una historia de lista. Puedes usar ésta para sincronizar parcialmente una cuenta de buzón para tu aplicación e incluso aprender de las preferencias del usuario para filtrar mensajes de una cierta clase.

El manejo de etiquetas

Puedes agregar y remover etiquetas aplicadas a mensajes y conversaciones.

Sincronización Completa

Puedes respaldar toda una cuenta de principio a fin. La API te permite recorrer las páginas de mensajes en tu cuenta con el método lista de mensajes.

¿Qué sigue?

En el próximo tutorial, comenzaré a mostrarte cómo se usa la API de Gmail con tu aplicación basada en PHP.

Con toda confianza envía tus preguntas y comentarios en la sección de abajo. También puedes contactarme en Twitter @reifman o por correo electrónico. Consulta mi página de instructor en Tuts+ para ver futuros artículos sobre la API de Gmail.

Enlaces Relacionados

¡Sé el primero en conocer las nuevas traducciones–sigue @tutsplus_es en Twitter!

Advertisement
Did you find this post useful?
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.