Utilización y activación de la api de Gmail
Google API Console
Lo primero que tenemos que hacer es crear un proyecto nuevo en Google Developers Console. A continuación, haz clic en Seleccionar un proyecto y crea uno nuevo.
Nombra tu nuevo proyecto y pulsa Crear en la parte inferior.
Habilita Gmail API
Una vez hecho esto, puedes pulsar la pestaña Biblioteca de la izquierda y encontrarte en la página de la Biblioteca API. Introduce “Gmail API” en la barra de búsqueda y haz clic en ella una vez encontrada. Ahora, tienes que habilitar la API para tu proyecto.
*Ten en cuenta que tendrás que activarlo por separado para cada nuevo proyecto en el que trabajes. *
Paso 3: Credenciales y autenticación con OAuth 2.0
Una vez activada la API, accederás a un bonito panel que dice: “Para utilizar esta API, puede que necesites credenciales”. Si haces clic en Crear credenciales, tendrás que pasar por una serie de preguntas para saber qué tipo de credenciales necesitas. Te aconsejamos que vayas por otro camino ya que ya sabemos lo que es: ID de cliente OAuth. Así pues, haz clic en la pestaña Credenciales de la izquierda, y luego elige OAuth client ID en la lista desplegable del botón Crear credenciales.
Verás el botón Configurar pantalla de consentimiento. Te llevará a una página con muchos campos. Sólo tienes que introducir el nombre de tu aplicación y especificar los dominios autorizados. Rellena otros campos si quieres.
Haz clic en guardar y luego elige el tipo de tu aplicación (aplicación web, Android, Chrome App, iOS u otra). Después de eso, nombra tu ID de cliente OAuth. Además, introduce los orígenes de JavaScript y los dominios de redirección para utilizarlos con las solicitudes de un navegador o un servidor web, respectivamente. Haz clic en crear para finalizar. Eso es todo. Descarga un archivo JSON con tus credenciales - lo necesitarás más tarde.
Habilitación de la API de Gmail
Para utilizar la API de Gmail, necesitamos un token para conectarnos a la API de Gmail, podemos obtener uno desde el panel de control de las API de Google.
Primero habilitamos la API de correo de Google, nos dirigimos al panel de control y utilizamos la barra de búsqueda para buscar la API de Gmail, hacemos clic en ella y la habilitamos:
A continuación, creamos un ID de cliente OAuth 2.0 mediante la creación de credenciales (dirigiéndose al botón Crear credenciales):
Seleccione Desktop App como el tipo de aplicación y proceda, verá una ventana como esta:
Descargamos nuestro archivo de credenciales y lo guardamos como credentials.json en el directorio actual:
Nota: Si es la primera vez que utilizas las API de Google, puede que tengas que crear simplemente una pantalla de consentimiento de OAuth y añadir tu correo electrónico como usuario de prueba.
Crear pantalla de consentimiento
Información detallada de cómo crearla aquí.
Importante destacar que se marque para uso interno y que no se suba logotipo.
Es porque si no se activa un procedimiento de verificación humana, que retrasa la activación de ventana de consentimiento hasta que termine, y pueden ser días. Lo cual no necesitamos para nuestras pruebas y sería en caso de poner en producción la aplicación, para que así se muestre una ventana formal de aceptación de permisos con aspecto y auterización corporativo.
Creación del Script para consumir la API de Gmail en python
Dependencias necesarias
Código de consumo de la api
En la misma carpeta donde se encuentre este script, debe estar el fichero credentials.json que fue renombrado por el que nos descargamos de google con los credenciales de acceso de nuestra cuenta. También destacar que se creará de forma automática después del primer lanzamiento un fichero tocken.picle que no deberemos borrar.
Llamada y utilización a este script
El script anterior, lo denominto una dependencia y he externalizado su uso, por ello desde dónde tengamos los datos y queramos enviar el email deberemos poner:
Fuentes:
https://mailtrap.io/blog/send-emails-with-gmail-api/#Python https://www.thepythoncode.com/article/use-gmail-api-in-python https://developers.google.com/android-publisher/getting_started?hl=es-419 https://docs.moodle.org/all/es/Servicio_OAuth_2_Google