Microsoft Graph

Microsoft Graph

 

Microsoft Graph is the access point for developers to relevant information that Microsoft has in the cloud.

It is known that the information generated between among members of a company, whether large or small, is crucial for business.

Nowadays using Office 365 can increase productivity by having online tools where we can store large volumes of information and interact with this information at any time, together with other members of the organization.

People are looking for integrated experiences that help them leverage several data sources and connect information from multiple contact points in a meaningful way.

In this context, Microsoft Graph is a key tool because it allows developers to build effective, custom cloud-based applications that can transform productivity prospect.

In order to achieve easy and integrated access to relevant information, Microsoft Graph is born.

Microsoft Graph was introduced at the beginning of 2015 with the name Office 365 Unified API.

Imagine an application that can analyze your next meeting and help you prepare it, for instance, giving you information about the profiles of each person in the meeting, data about the most recent documents or projects they work on.

Or an application that not only has access to your calendar, but also suggests a better schedule for the next team meeting. In short, a personal assistant.

Would you use an application to analyze Excel data and allow users to create personal workflows that automate data gathering and integrate it with other services in the cloud?

Would you use an application to analyze Excel data, and allow users to create personal workflows that automate data gathering and integrate it with other services in the cloud?

Would you like an application that can help you organize personal and business information, defining which images should go to OneDrive-Personal because they are family pictures and which ones should go to OneDrive for Business because they are images of expense receipts?

These application examples can be easily delivered with Microsoft Graph technology.

What did we have so far?

So far, to access Office 365 tools we had several access points, which are different from each other. That is, to get information from SharePoint and Exchange we should write one code to get data from Exchange and another to get data from SharePoint. In case we knew how to use Exchange API and not SharePoint API we should start studying about it. Clearly, this implies a cost increase in development times.

We have two separate methods of authentication for our business and personal accounts, in addition to offering us different services depending on the account type.

Graph1

With the introduction of Microsoft Graph all this has changed. 

Microsoft Graph: simplifying the developer’s work. 

Microsoft Graph was created to satisfy users demands, who want contextual and intelligent experiences and to minimize the difficulty that developers have when integrating all Microsoft Services on the cloud. Microsoft Graph offers an easy and single access for all the data hosted in Microsoft Cloud, such as Exchange, SharePoint, Azure Active Directory, OneDrive, Outlook, OneNote, Excel, etc. In this same context it is also possible to get related advanced related data based on machine learning performed by your intelligent engine.

Graph consolidates everything in a single point of access and authentication. Learning just one API you can have access to information created by every tool that Microsoft provides on the Cloud. As a consequence, this significantly lowers development costs.

Graph3

Access to data generated by the intelligent engine

As discussed above, Graph uses an intelligent engine whic through Machine Learning algorithm collects information generating a graph of related data.

Another example of Microsoft Graph intelligence is its ability to obtain trend documents. Microsoft Graph listens for signals and activities, such as uploading files, viewing and modifying files, email conversations, etc. Then, it uses its intelligence engine to calculate advanced relationships and inferred information between people and documents. When a file becomes popular in its circle, Microsoft Graph creates trend information. This is then made available to effective contextual experiences like Delve in Office 365 and is now also available as an API in Microsoft Graph.

Graph4

Introduction to Microsoft Graph

To get the most out of Graph you can start here: Microsoft Graph

This link will take you to the developer portal, where you will find quick implementation examples that can enhance your development and, in less than five minutes, you will have an application running on the platform you want by calling Microsoft Graph. In the developer portal you will also find all the documentation related to Graph, a set of SDKs and code samples.

Something to highlight about the site is that it has “Graph Explorer”, where you can send requests to Microsoft Graph and inspect the response instantly.

Graph5

We will now go into a little more detail in the use of the tool. In order to demonstrate how we can use Graph, regardless of the language in which we are developing, we are going to use an Angular project which uses the Graph API.

After navigating in Graph page, select Quick Start section where we will be able to download a fully functional test project using Graph. For our example we chose Angular platform. It is worth mentioning that you must install Node.js and Bower for the proper functioning.

After selecting the platform, we must register the application in the Microsoft Application Registration Portal. After this we will be able to download Angular project.

This quick start option is where we can download a basic but functional project as it inserts the App ID into the code.

Graph6

To run the application we must run the Node.js server as explained on the site.

Graph7

This application we downloaded connect to a Microsoft personal account, professional or educational (Azure Active Directory) that uses Microsoft Graph API to send an email.

Within the project we have some files to highlight as they are essential for the application performance.

config.js: in this JavaScript file we will have the App ID with which we register the application, the URL address where the application runs and the permissions that the application has to access Graph.

Graph8

Application already has some default permissions. To remove or add permissions, in addition to specifying it in the code, we have to do so in the Microsoft Application Registration Portal. To do this, we go to https://apps.dev.microsoft.com and select the name of the application we created. After that we go to  Permissions for Microsoft Graph section.

Graph9

mainController.js: here is where we have all the logic that makes our application work. In this file is where we will operate the data obtained from Graph to present it to the user in the way we want.

Graph10

graphHelper.js: in this file is where we create the different queries that use Microsoft Graph API.

Graph11

This example retrieves a collection of contacts from the default Contacts folder of the user who is logged in to the Angle application. Here is the partial result of this operation, where you can see that the answer is a simple Json uy, easy to manipulate.

Graph12

This is a simple example that demonstrate the ease with which Microsoft Cloud data can be obtained using Microsoft Graph, whether that data comes from Azure Active Directory, SharePoint, OneDrive, Exchange, Outlook.com, Planner, OneNote, Excel or other services.

Summary

With Microsoft Graph, developers can create intelligent, people-centered applications that can easily interact with data from a single access point. It allows developers to take advantage of the incredible amount of data from Microsoft cloud services to create smarter applications and help further increase user productivity. Microsoft Graph exposes API, data, and intelligence in Office 365 and Azure Active Directory. Thanks to Graph we can connect Office 365 services to our convenience. For developers the great advantage is to write code in less time because they do not have to worry about learning how each service that Microsoft provides in the cloud works.


 

Microsoft Graph es el punto de acceso para los desarrolladores a la información relevante que Microsoft tiene en la nube.

Es sabido que la información que se genera entre los integrantes de una compañía, ya sea grande o pequeña, es de vital importancia para el negocio. Hoy en día con el uso de Office 365 podemos aumentar la productividad al tener herramientas en línea en donde podemos almacenar grandes volúmenes de información e interactuar con dicha información en cualquier momento, en conjunto con otros integrantes de la organización.

Las personas buscan experiencias integradas que les ayuden a aprovechar muchos orígenes de datos y a conectar la información de varios puntos de contacto de maneras significativas. En este contexto, Microsoft Graph es la herramienta clave, ya que permite a los desarrolladores crear aplicaciones basadas en la nube, eficaces y personalizadas, que pueden transformar el panorama de la productividad.

Con el propósito de conseguir un acceso fácil, unificado y sencillo a la información relevante es que nace Microsoft Graph.

Microsoft Graph fue introducido a principio del 2015 con el nombre Office 365 Unified API (La api unificada de Office 365).

Imagine una aplicación que pueda analizar su siguiente reunión y ayudarlo a prepararla, por ejemplo, brindándole información de los perfiles de cada persona de la reunión, información sobre los documentos o proyectos más recientes en los que trabajan.

O una aplicación que no solo tenga acceso a su calendario, sino que además sugiera un mejor horario para la siguiente reunión de equipo. En definitiva, un asistente personal.

¿Usaría una aplicación para explotar los datos de Excel y permitir a los usuarios crear flujos de trabajo personales que automatizan la recopilación de datos e integrarlo con otros servicios en la nube?

¿Le gustaría una aplicación que pueda ayudarlo a organizar información personal y laboral, definiendo que imágenes deberían ir al One Drive personal porque son imágenes de su familia y que imágenes deberían ir al One Drive para Empresas, porque son imágenes de recibos de gastos?

Estos ejemplos de aplicación pueden ofrecerse fácilmente con la tecnología de Microsoft Graph.

¿Que teníamos hasta ahora?

Hasta el momento para acceder a las diferentes herramientas de Office 365 teníamos distintos puntos de acceso, que son diferentes entre sí. Es decir, para obtener información de Exchange y de SharePoint debíamos escribir un código para obtener los datos de Exchange y otro para obtener los datos de SharePoint. En caso de que supiéramos como usar la API de Exchange y no la de SharePoint debíamos ponernos a estudiar sobre ella. Evidentemente al pasar esto el costo en tiempos de desarrollo aumenta.

Tenemos dos formas de autenticación separadas para nuestras cuentas de trabajo y personales, además de ofrecernos servicios diferentes dependiendo del tipo de cuenta.

Graph1

Gracias a la introducción de Microsoft Graph todo esto ha cambiado.

Microsoft Graph: Simplificando el trabajo del desarrollador

Microsoft Graph se creó para satisfacer la demanda de los usuarios, los cuales quieren experiencias contextuales e inteligentes y para minimizar la dificultad que tienen los desarrolladores de integrar todos los servicios de Microsoft en la nube. Microsoft Graph brinda un acceso fácil y unificado a todos los datos hospedados en la nube inteligente de Microsoft, como Exchange, SharePoint, Azure Active Directoy, One Drive, Outlook, One Note, Excel, etc. En este mismo contexto también se pueden obtener datos relacionados avanzados basados en el aprendizaje automático que realiza su motor inteligente.

Graph consolida todo en un único punto de autenticación y acceso. De modo que aprendiendo una sola API se tiene acceso a la información que generan todas las herramientas que Microsoft nos provee en la nube. Por consecuencia esto baja mucho el costo en tiempos de desarrollo.

Graph3

Acceso a los datos generados por el motor inteligente

Como se comentó anteriormente, Graph utiliza un motor inteligente el cual a través del algoritmo de Machine Learning recolecta la información generando un grafo de datos relacionados.

Otro ejemplo de la inteligencia de Microsoft Graph es su capacidad de obtener documentos de tendencia. Microsoft Graph escucha señales y actividades, como carga de archivos, vistas y modificaciones de archivos, conversaciones por correo electrónico, etc. Luego, usa su motor inteligente para calcular relaciones avanzadas e información inferida entre personas y documentos. Cuando un archivo pasa a ser popular en su círculo, Microsoft Graph crea información de tendencia; esta luego pasa a disposición de las experiencias contextuales eficaces como Delve en Office 365 y, ahora, también está disponible como una API en Microsoft Graph.

Graph4

 

Introducción a Microsoft Graph

Para sacar provecho de Graph se puede empezar navegando por developer.microsoft.com

Este vínculo lo llevará al portal para desarrolladores, en donde encontrará experiencias de inicio rápido que pueden impulsar su desarrollo y, en menos de cinco minutos, tendrá una aplicación en funcionamiento en la plataforma que quiera llamando a Microsoft Graph. En el portal también encontrará toda la documentación referente a Graph, un conjunto de SDK y ejemplos de código.

Algo destacado del sitio es que cuenta con el llamado Explorador Graph en donde se pueden enviar solicitudes a Microsoft Graph e inspeccionar la respuesta inmediatamente.

Graph5

Ahora entraremos un poco más en detalle en el uso de la herramienta. Con el fin de demostrar cómo podemos utilizar Graph, independientemente del lenguaje en el que estemos desarrollando, es que vamos a utilizar un proyecto de Angular el cual utiliza la API de Graph.

Después de navegar en la página de Graph nos dirigimos a la sección Quick Start en donde vamos a poder bajarnos un proyecto de prueba totalmente funcional que utiliza Graph. Para nuestro ejemplo elegimos la plataforma Angular. Cabe mencionar que tenemos que instalar Node.js y Bower como extra para el correcto funcionamiento.

Posteriormente al seleccionar la plataforma debemos registrar la aplicación en el portal de registro de aplicaciones de Microsoft. Después de esto vamos a poder descargarnos el proyecto de Angular.

Esta opción de inicio rápido es donde nosotros podemos descargarnos un proyecto básico pero funcional ya que inserta el App ID en el código.

Graph6

Para correr la aplicación debemos levantar el servidor de Node.js como explica en el sitio.

Graph7

Esta aplicación que descargamos se conecta a una cuenta personal, profesional o educativa de Microsoft (Azure Active Directory) que usa la API de Microsoft Graph para enviar un correo electrónico.

Dentro del proyecto tenemos algunos archivos a destacar ya que son vitales para el funcionamiento de la aplicación.

config.js: En este archivo JavaScript vamos a tener el App ID con el cual registramos la aplicación, la dirección url donde corre la aplicación y los permisos que tiene la aplicación para acceder a Graph.

Graph8

La aplicación ya viene con algunos permisos por defecto. Para sacar o agregar permisos, además de indicarlo en el código, tenemos que hacerlo en el portal de registro de aplicaciones de Microsoft. Para esto vamos a https://apps.dev.microsoft.com y seleccionamos el nombre de la aplicación que creamos. Después de esto nos movemos hasta donde dice Permisos para Microsoft Graph.

Graph9

mainController.js: Aquí es donde tenemos toda la lógica que hace funcionar a nuestra aplicación. En este archivo es donde vamos a manipular los datos obtenidos de Graph para presentarlos al usuario de la forma que nosotros queramos.

Graph10

graphHelper.js: En este archivo es donde creamos los diferentes querys que utilizan la API de Microsoft Graph.

Graph11

En este ejemplo se obtienen una colección de contactos de la carpeta Contactos predeterminada del usuario que ha iniciado sesión en la aplicación Angular.

Aquí tenemos el resultado parcial de esta operación, en donde se puede apreciar que la respuesta es un simple Json uy, muy sencillo de manipular.

Graph12

Este es un ejemplo simple que ilustra la facilidad con que se pueden obtener datos de Microsoft Cloud utilizando Microsoft Graph, tanto si esos datos proceden de Azure Active Directory, SharePoint, OneDrive, Exchange, Outlook.com, Planner, OneNote, Excel u otros servicios.

Resumen

Con Microsoft Graph, los desarrolladores pueden crear aplicaciones inteligentes centradas en las personas que pueden interactuar fácilmente con los datos desde un único punto de acceso. Permite que los desarrolladores aprovechen la increíble cantidad de datos de los servicios en la nube de Microsoft para crear aplicaciones más inteligentes y ayudar a aumentar aún más la productividad de los usuarios. Microsoft Graph expone API, datos e inteligencia en Office 365 y Azure Active Directory. Gracias a Graph podemos conectar servicios de Office 365 a nuestra conveniencia. Para los desarrolladores la gran ventaja es la de escribir código en menos tiempo ya que no tenemos que preocuparnos por aprender cómo funciona cada servicio que Microsoft nos provee en la nube.

 

Share This
Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn