Leer códigos QR y los metadatos de los documentos alojados en O365 desde el móvil

24·Abr·2019

|

Introducción

El objetivo de este I+D ha sido crear una aplicación móvil para leer códigos QR y una vez escaneados, recuperar de dichos códigos la ruta correspondiente a documentos alojados en un sitio de SharePoint Online. Cuando la información de la ubicación es detectada la aplicación muestra los metadatos principales del documento y además te brinda la posibilidad de abrirlo.

El proyecto fue dividido en dos fases con los siguientes entregables:

Fase Entregables
Fase1 Aplicación móvil que lee códigos QR (v1.0).
Fase2  Aplicación móvil que lee códigos QR, muestra los metadatos de los documentos que se trae y además el poder a abrirlos (v2.0).

Funcionalidades

Lo que se pretendió obtener de esta aplicación fue lo siguiente:

  • Leer códigos QR y la información especificada en dicho código, que en este caso es la ruta de un documento alojado en SharePoint Online.
  • Incluir el poder logarse, con las cuentas de usuario de la empresa, en la infraestructura de seguridad de Office 365.
  • Mostrar las propiedades o metadatos principales de dichos documentos, siempre y cuando el documento exista y el usuario se haya logado correctamente.
  • El poder abrir el documento desde la aplicación.

Tecnologías utilizadas

Las tecnologías que se utilizaron para desarrollar este proyecto fueron las siguientes:

Xamarin.Forms presenta un completo kit de herramientas de interfaz de usuario multiplataforma para desarrolladores .NET. Poder compilar aplicaciones de Android, iOS y Plataforma universal de Windows totalmente nativas con C# en Visual Studio.

Azure Active Directory (Azure AD) es un servicio de administración de acceso y de identidades basado en la nube de Microsoft. Azure AD ayuda a sus empleados a iniciar sesión y a acceder a los recursos en:

– Recursos externos, como Microsoft Office 365, Azure Portal y miles de otras aplicaciones SaaS.

– Recursos internos, como las aplicaciones de la red corporativa y la intranet, junto con todas las aplicaciones en la nube desarrolladas por su propia organización.

Microsoft Office 365 es una solución de arrendamiento del paquete Microsoft Office (Word, Excel, PowerPoint, Publisher, Access, OneNote y Outlook)

Tareas y detalles técnicos

Las tareas realizadas y divididas por fases fueron las siguientes:

Tareas Fase
Crear un proyecto de aplicaciones móviles de Xamarin.Forms con Visual Studio .Net 2017       Fase1  
Generar códigos QR a través de la página https://www.qrcode-monkey.com/es y especificar rutas a los documentos.
Añadir la lógica en nuestro código para escanear los códigos QR y generar la primera versión de la aplicación móvil.
Configuración del sitio SharePoint Online y la biblioteca de documentos, además de alojar documentos de prueba.         Fase2
Configurar la seguridad en Azure Active Directory, dentro del portal de Azure, y que nuestra aplicación pudiera autenticar y acceder al sitio de SharePoint Online de nuestra empresa, a través de las credenciales de empresa.
Añadir la lógica en nuestro código para integrar y autenticar la aplicación móvil con Office 365 y recuperar los metadatos de un documento alojado en una biblioteca de un sitio de SharePoint Online.
Mostrar los metadatos o propiedades principales del documento, una vez recuperados de O365, en la aplicación móvil.
Poder abrir el documento desde la aplicación móvil.

Los pasos principales realizados para desarrollar estas tareas se comentan a continuación.

Autenticación contra Azure Active Directory y centralizar la seguridad

   Pasos

  • Registrar la aplicación con Azure AD y obtener unos parámetros de configuración.Dar acceso a dicha aplicación a las APIs de SharePoint Online.
  • Usar la librería Azure Active Directory Authentication Library (Azure ADAL).Configurar la aplicación de Xamarin.Forms para autenticarse contra Azure a través de la anterior librería y, utilizando los parámetros de configuración de la aplicación.

Llamar a las APIs de SharePoint Online para recuperar los metadatos de los documentos

        Pasos

  • Recuperar un accessToken. Añadir lógica para realizar llamadas HttpClient a las APIs de SharePoint Online utilizando el accessToken.
  • Recuperar y formatear la información devuelta del documento

Mostrar dicha información en la aplicación móvil.

        Pasos

  • Mostrar en el móvil los campos o propiedades devueltas del documento.Habilitar un botón para abrir el documento dentro de la aplicación móvil.Habilitar un botón para volver a escanear dentro de la aplicación móvil

Poder abrir el documento desde la aplicación móvil

        Pasos

  • Si los documentos son Microsoft (xlsx, docx, pptx) llamarlos directamente desde la aplicación móvil y abrirlos. Si los documentos son otros (pdf, txt) forzar a descargarlos y luego abrirlos.  

Funcionamiento

  • Al abrir la aplicación móvil lo primero que nos muestra es un botón para empezar a escanear, y luego si lo pulsamos nos pide permiso para acceder a la cámara.                                                                            
  • La aplicación se pone en modo escáner y lista para leer códigos QR.
  • Se procede a leer un código QR que contiene la información del documento a recuperar de SharePoint Online con el siguiente formato: [URL del sitio;Biblioteca;NombreDocumento]                    logarse en el sitio.

  • Si la aplicación ha podido leer el código QR te muestra en pantalla la información del documento que va a recuperar y un botón para        
  • Una vez pulsado el botón de “Login”, la aplicación te redirige a la página Inicio de sesión para autenticarse contra Azure AD.                  
  • Si el usuario es autenticado correctamente entonces se recuperan los metadatos del documento y se muestran en pantalla. Ademásse habilita el botón “Open Document”.
  • Finalmente, si el usuario pulsa el botón “Open Document” entonces se abre el documento especificado.