Descargas, guías, trucos, gameplays...

lunes, 9 de octubre de 2017

Basic4Android 12 - Enviar correo desde aplicación sin abrir Gmail con API Gmail y OAuth 2.0



OAuth 2.0 es necesario para poder tener acceso al uso de la API's de Google y aprovecharlas en nuestras aplicaciones móviles, java, .Net, etc.

¿A qué se refiere OAuth 2.0?
Es cuando las aplicaciones tienen acceso a los datos de tu cuenta Google: correos, sheets, docs, información personal, etc. 

Gráficamente es cuando te muestran los siguientes cuadros para Permitir acceso a las aplicaciones




Veremos aquí un ejemplo de como se usa OAuth 2.0 en Basic4Android gracias a al archivo clase disponible para su descarga en el 

(No es necesario descargarlo, solamente es para que verificquen futuras actualizaciones del archivo Clase)




1
Descargamos el archivo con las clases necesarias y el código que iremos desarrollando paso a paso


Al descomprimir el zip veran lo necesario para empezar a trabajar:
  • El archivo clase GoogleOAuth2.bas (para usar las API's de Google)
  • El archivo clase MailCreator.bas (para crear el correo)
  • El código que explicaremos con mayor detalle en los siguientes pasos





2
Aspectos importantes a tomar en cuenta

Cliente ID, que deberemos generar y que es único para cada aplicación. Esta relacionado a la cuenta del programador y nombre del paquete de la aplicación:



El manifiesto debe tener el siguiente código (en esta aplicación ya esta agregado pero tomarlo en cuenta para sus futuros proyectos):





3
Creando el Cliente ID y habilitando la API de Gmail

Si en estos momentos ejecutamos la aplicación obtendremos el siguiente mensaje al presionar el botón [Send] en el móvil o emulador:

Esto se debe a que no tenemos un Cliente ID valido en la siguiente linea de código:



veamos pues como crear el Cliente ID y habilitar la API de Gmail:


a. Ir a la siguiente dirección: https://console.developers.google.com



b. Clic en [Crear proyecto]



c. Clic en [Crear]



d. Dar un nombre al proyecto, indicar si quieren recibir información adicional..., aceptar las condiciones de uso y clic en [Crea]

esperan a que se cree el proyecto y verán esta pantalla con el nombre del proyecto



e. Clic en [Credenciales]



f. Clic en [Crear credenciales] y clic en [ID de cliente de OAuth]



g. Clic en [Configurar pantalla de autorización]




h. Llenar al menos la información obligatoria: [Correo electrónico] y [Nombre de producto mostrado a los usuarios], este último será el que se muestre en la pantalla de autorización a los usuarios (en la imagen abajo no coinciden, solamente es para ejemplificar), y clic en [Guardar]



i. Eligen [Android], escriben un nombre, agregan la [huella digital SHA-1], escriben el [nombre del paquete] y clic en [Crear]


para el SHA-1 y el nombre del paquete vamos a Basic4Android

El nombre del paquete debe ser el mismo que escriben en Proyecto>Configuración de Compilación



El SHA-1 lo encuentran cuando firman su aplicación en Herramientas>Clave de Firma Privada


específicamente lo encontraran en el cuadro de texto [Firma (solo lectura)]. Dan scroll con el ratón sobre el cuadro de texto o expanden el cuadro de dialogo y ahí lo verán.




j. Verán una pantalla que indica el [Cliente ID], clic en Aceptar



k. Copiar ese [ID de cliente] y pegarlo en Basic4Android




l. Volver a https://console.developers.google.com, clic en [Panel de control] y clic en [HABILITAR APIS Y SERVICIOS]



m. Ya que se trata de una aplicación que envía un correo electrónico, escribir gmail en el buscador, dar clic a [Gmail API] y clic en [HABILITAR]








4
Redactar el correo para probar la aplicación

Completar el código del evento [Button1_Click], donde se colocan todas las partes del correo
  • msg.ToList.Add(...  El destinatario
  • msg.Subject = ... Asunto del correo
  • msg.Body = ... Cuerpo del correo
  • todo lo relacionado a la variable fd... Adjuntar archivos, en este caso una imagen.




5
Ejecutar la aplicación

Al ejecutarla veremos la siguiente pantalla donde damos clic a [Send]



entonces se mostrara la siguiente pantalla desde el navegador. Aquí el usuario elige la cuenta que nuestra aplicación usara para mandar el correo o si desea agregar otra distinta a las que ya ha usado alguna vez para iniciar sesión


después se mostrara al usuario la pantalla para conceder autorización, clic en [PERMITIR]



finalmente revisamos la bandeja de entrada de la cuenta colocada como destinatario y ya veremos el correo enviado desde una aplicación creada con Basic4Android sin necesidad de abrir Gmail.





Eso es todo, explicado paso a paso





No hay comentarios:

Publicar un comentario