¿Cómo usar la API de GMail con Python?

En esta ocasión vamos a ver como usar la API de GMail con Python y lo mejor de todo en español, porque como uds saben todo está en inglés pero lo peor es que no contribuimos al conocimiento en nuestro idioma a veces pienso que la gente lo hace por envidiosa, pero en fin, vamos a lo que realmente importa.

Primero y antes que nada tienes que tener una cuenta de Google (GMail) e iremos primero activar nuestro Google Cloud:

Empezar 2017-08-16 8 a.m.8-07-46

A continuación tendremos que crear un nuevo proyecto si es que no lo tenemos activo.

[gallery ids="802,803,804" type="rectangular"]

Ahora debemos crear nuestro Cliente ID:

Empezar 2017-08-16 8 a.m.8-13-31

Seleccionamos el proyecto que previamente hemos creado:

APIs & services 2017-08-16 8 a.m.8-15-00

Seleccionamos ID Cliente de OAuth

Credenciales - DemoParaBlog 2017-08-16 8 a.m.8-15-44

Y no nos permitirá crear el ID Cliente hasta que primero definamos la pantalla de autorización que le saldrá al usuario para darle acceso a nuestra aplicación.

Crear ID de cliente - DemoParaBlog 2017-08-16 8 a.m.8-16-25

Los campos realmente importantes solo para esta prueba son: El correo electrónico y el nombre del producto (el nombre de nuestra aplicación), los demás los rellene para que se vea mejor la App.

Pantalla de autorización - DemoParaBlog 2017-08-16 8 a.m.8-19-00

Ahora sí podremos crear nuestro ID Cliente

Crear ID de cliente - DemoParaBlog 2017-08-16 8 a.m.8-20-17

A continuación obtendremos el ID Cliente y el "secreto cliente", que debemos preservar y no compartir.

Credenciales - DemoParaBlog 2017-08-16 8 a.m.8-20-34

Sin embargo así como esta no nos sirve necesitamos el JSON, que descargamos de aquí:

Credenciales - DemoParaBlog 2017-08-16 8 a.m.8-21-25

Y debemos ver algo así:

JSON Editor Online - view, edit and format JSON online 2017-08-16 8 a.m.8-24-10

Ahora nombraremos este archivo como "client_secret.json", entonces empecemos a programar en Python. Primero hay que instalar la librería y sus dependencias, en lo personal prefiero usar pip.

pip install --upgrade google-api-python-client


El código a continuación está basado en la página oficial de Google por ende está en inglés, y también lo pueden descargar de github aquí.

workspace-neon - Java EE - Loose-Dev-Py:loose_dev:easy_gmail.py - Eclipse 2017-08-16 1 p.m.13-01-45

Ya que lo hayan descargado y modificado las rutas de los archivos con su JSON de "client_secret.json" lo ejecutamos y nos pedirá autorización abriendo una ventana en el navegador.

workspace-neon - Java EE - Loose-Dev-Py:loose_dev:easy_gmail.py - Eclipse 2017-08-16 1 p.m.13-04-10

Seleccionaremos la cuenta con la que deseamos acceder:

Inicia sesión: Cuentas de Google 2017-08-16 12 p.m.12-37-30

Ahora le damos los permisos:

Inicia sesión: Cuentas de Google 2017-08-16 12 p.m.12-38-07

Aquí nos indica que ya se ha autenticado:

Authentication Status 2017-08-16 12 p.m.12-38-26

Aquí la prueba de que llego el correo:

subject - rafex.dev@gmail.com - Gmail 2017-08-16 1 p.m.13-06-22

En este ejemplo se usó el "Scope de send" para poder enviar el EMail pero si desean hacer más cosas les sugiero que revisen este enlace que después me tomaré el tiempo de explicarlo a detalle.

Aquí puedes descargar el código.

P.D. Si tienen alguna duda dejenla en los comentarios y con gusto los ayudare.

Comentarios

Entradas populares