Microsoft Graph, la fábrica inteligente de datos de Office 365

Vivimos tiempos en los que la cantidad de datos que manejamos nos satura. Cada día cientos de ficheros, emails, nombres, sitios, fechas y cifras desfilan por delante de nuestros ojos. Aunque parte de nuestra prioridad sigue siendo obtener cada vez mejores formas de acceder a la información, centralizarla y realizar consultas de forma rápida a grandes cantidades de datos, lo que ahora realmente necesitamos es entender esos datos. Que las máquinas tengan la capacidad de extraer valor a través de estudios inteligentes y comprender la conexión que hay detrás de todos esos registros.

Y con el propósito de conseguir un acceso fácil, unificado y sencillo a información relevante sobre nuestro trabajo nace Microsoft Graph (conocida anteriormente, por su presentación en el //build, como “La API unificada de Office 365”). La finalidad es acceder a través de una sola API, basada en los estándares abiertos REST 2.0 y JSON, a una serie de informes que se construyen inteligentemente sobre datos relacionados con las personas: ficheros con los que trabajan, emails, eventos y contactos, accediendo a OneDrive for Business, SharePoint, Azure Active Directory, Outlook… de forma totalmente transparente.

Lo que anteriormente podría llevar a un desarrollador a escribir más de cincuenta líneas de código, navegando por servicios, realizando peticiones HTTP a cada API, de cada plataforma, con sus propias formas, sintaxis o palabras clave, puede ser resuelto en sólo cinco, gracias a la navegación a través de Microsoft Graph.

Microsoft Graph es el acceso homogéneo para los desarrolladores a la información relevante que Microsoft construye en el Cloud.

1esquema

Centralizándonos en la experiencia de usuario única, Microsoft Graph facilita la productividad en nuevos escenarios:

  • Ayudándonos a construir un departamento de IT que proporcione más rápidamente soluciones a empleados
  • Proporcionando a los desarrolladores medios para construir herramientas basadas en experiencia social online dentro de la empresa
  • Impulsando el uso de Office 365 en nuestros partners, que podrán personalizarlo, extender su funcionalidad con apps, etc..

Por ejemplo, dentro de estos escenarios podríamos recorrer el árbol jerárquico en el que se encuentra un usuario: quienes son sus compañeros, su jefe, partners o principales contactos, a qué ficheros acceden, qué información comparte, reuniones o conversaciones, abstrayendo así en qué trabajan, qué les interesa, cómo interactúan en ese grupo, que dinámicas siguen para coordinarse o cómo es la comunicación.

2-unified

 

Queremos facilitar a los desarrolladores que construyan aplicaciones centradas en las personas y sus relaciones, interaccionando con los datos de forma sencilla.

8aPara ello, hemos puesto a tu disposición varios SDKs que hacen Graph útil y sencillo para los desarrolladores. De momento hemos empezado con .Net, iOS y Android, pero estamos ya trabajando para extenderlos a otras plataformas como Node.js, Python, Java y Ruby. Puedes ver ejemplos de código de una gran variedad de plataformas en nuestro GitHub.

Actualmente existen dos versiones de la Microsoft Graph que puedes ver en graph.microsoft.com: la que denominamos versión 1.0, que ya está preparada para ser usada en tus aplicaciones en producción y la beta, en versión preliminar, que vamos evolucionando y donde presentamos nueva funcionalidad que puedes ir probando.

La primera, o de disponibilidad general, sobre la que veremos algunos ejemplos un poco más adelante, contiene funcionalidad ya probada e implementada sobre usuarios, archivos, grupos, eventos, contactos, mails, calendario, dispositivos y otros objetos y documentos.

En la versión preliminar, estamos trabajando en notificaciones, SDKs, personas, contactos organizacionales, plannings, archivos de OneNote, soporte de un flujo de autentificación común, archivos de OneDrive y Outlook.

Algunos ejemplos para que veas qué sencilla de utilizar es Microsoft Graph. Puedes hacer tus propias pruebas accediendo aquí: https://graphexplorer2.azurewebsites.net/ o desde esta página https://graph.microsoft.io/ a través del enlace “Try the API” o en el menú “Graph explorer”.

Empecemos por lo básico ¿Quién soy?:   https://graph.microsoft.com/v1.0/me query

Conocer mi foto: https://graph.microsoft.com/v1.0 /me/photo 4a

Mi manager  https://graph.microsoft.com/v1.0 /me/manager o /me/photo o usar parámetros de consulta OData: /me?$select=skills  5a

Ver los mensajes de mi buzón:  /me/messages  limitarlos:  /me/messages?$top=5 o consultarlos:  /me/messages?$top=5&$search=”from:alex” 6a

Ver mis contactos con /me/contacts, o mis archivos con /me/drive. Y por supuesto navegar a través de mis archivos: /v1.0/me/drive/root/children 7a

Observa que por ejemplo aquí, estamos accediendo desde un usuario guardado en el AAD al contenido que se guarda en un servicio individual como OneDrive for Business de forma totalmente transparente.

Busca archivos por nombre, por fecha, por la última persona que los ha modificado /me/drive/root/children/sales.xlsx/lastmodifiedbyuser. Obtén los grupos de tu organización /v1.0/groups o información de uno en concreto /v1.0/groups/{id} o más específicamente sus citas en el calendario o los archivos que comparten: /v1.0/groups/{id}/conversation, /v1.0/groups/{id}/events, /v1.0/groups/{id}/drive

Descubre todas las posibilidades a través de la documentación oficial: https://graph.microsoft.io/docs

Si quieres empezar a desarrollar soluciones basadas en Microsoft Graph, tan sólo necesitas un tenant gratuito de desarrollador de Office 365, ya que el acceso a través de Microsoft Graph está incorporado en la licencia del cliente de office 365 y esto incluye todas las APIs disponibles y algunas características que tienen algoritmos inteligentes.

Estoy segura de que ahora mismo estás fascinado con la cantidad de posibilidades que te ofrece Microsoft Graph y su simplicidad. Así que no lo dudes, vete a tu navegador favorito y accede a graph.microsoft.com, mira la documentación, los links, el explorador de la API, los ejemplos, SDKs, bibliotecas... y lo fácil que es empezar. Y si tienes dudas puedes preguntarnos en el foro de Desarrollo en Office 365 en español.

 

Isabel Cabezas Martín

@isabelcabezasm

Front-End Technical Evangelist