Microsoft Graph API para acceso a servicios Cloud.


Uno de los requerimientos que nos encontramos habitualmente en distintos procesos de negocio en SAP es el de coger o guardar determinados archivos de una ubicación concreta para su integración con SAP EC. A veces podemos obtenerlos de un sistema de ficheros local o FTP y, otras, puede surgir con otro tipo de soluciones en la nube como pueden ser OneDrive o Sharepoint. Para facilitar esto, Microsoft pone a disposición de los usuarios la API Microsoft Graph.



Ventajas de la integración entre los servicios de Microsoft en la nube y SAP.


Al trabajar con datos en SAP (ya sea información de pedidos de venta o datos maestros), es habitual tener un sistema de documentación externo relacionado con los objetos de negocio, como OneDrive. Los datos guardados en SAP y en OneDrive (o Sharepoint) implican tener que revisar los dos sistemas a la hora de comprobar o encontrar discrepancias.

Mediante la integración de SAP con los servicios de Microsoft en la nube, podemos asegurarnos de subir siempre los datos correctos y actualizados en todos los puntos del proceso.

Integrar los servicios de Microsoft en la nube agiliza el trabajo diario a la hora de guardar documentos y tenerlos directamente relacionados con los datos de las aplicaciones SAP.



¿Qué es la API de Microsoft Graph?


Graph en una API web REST que permite a los usuarios el acceso a servicios de Microsoft Cloud, proporcionando un endpoint único para diferentes servicios de Microsoft como OneDrive o Sharepoint. Después de registrar la aplicación y obtener tokens de autenticación para un usuario o servicio, se pueden realizar solicitudes a la API de Microsoft Graph.

Usar el adaptador REST receiver de SAPO PO para gestionar el OAuth permite gestionar el token de acceso sin tener que recurrir a UDFs.

  • Requisitos previos:
    • Una cuenta de OneDrive con el rol Developer para aplicaciones
    • Crear la aplicación en el portal de registro de aplicaciones de Microsoft
    • Crear un Client Secret
    • Añadir los permisos API para autorizar el acceso de nuestra app a OneDrive.

El resumen de los pasos que se deben llevar a cabo para completar el proceso de integración se puede ver en la siguiente imagen.

  • Crear y registrar la aplicación.

Con un usuario que tenga permisos de desarrollador, habrá que entrar en el portal de Microsoft Azure y crear la aplicación.



Una vez creada la aplicación ya tenemos disponibles tanto el Application (Client) ID como el Tenant ID que usaremos para las conexiones.


Después vamos a la pestaña de Certificates & secrets para añadir un nuevo Client secret. De aquí cogemos tanto el ID como el valor del Client secret, que necesitaremos para el canal REST Receiver más adelante.


El siguiente paso es añadir los permisos necesarios desde la pestaña API Permissions. Configuramos los permisos para Microsoft Graph que nos requiera el escenario.



Se puede comprobar la conexión mediante una llamada desde Postman para comprobar que devuelve correctamente el token de autentificación y usarlo para acceder a los archivos.

Ejemplos de integración con Microsoft 365 mediante SAP PI/PO

https://graph.microsoft.com/v1.0/sites/{site-id}/drive/items/{excelSheetFileID}/workbook/worksheets/Sheet1/UsedRange?$select=values

https://graph.microsoft.com/v1.0/sites/{site-id}/drives/{drive-id}/root/children

Recuperar en formato binario ficheros de la nube (imágenes, textos o libros Excel):

https://graph.microsoft.com/v1.0/sites/{site-id}/drive/root:/{FullFilename}:/content

Si tienes alguna pregunta no dudes en dejarla en comentarios o ponerte en contacto con nosotros.