Le Red Shirt Dev Tour 2018 a vraiment été intéressant, non seulement de par les annonces qui ont été faites, mais aussi par ce que j’ai eu la chance de participer en tant que speaker à un HOL sur GraphAPI. Je tiens à remercier Benjamin Tolaval qui m’a aidé à faire de ce Hands On Lab un succès en présentant une Application Mobile Xamarin connectée sur la MS GRAPH API.

Dans cet article, je vais donc expliquer à quoi sert la Graph API de Microsoft.

 

Microsoft Graph API – Introduction

Cette API est l’évolution de l’API Office 365 en exposant plusieurs API de service cloud Microsoft via un seul point de terminaison API REST. L’API Microsoft Graph offre une navigation transparente entre les entités des services comme les utilisateurs, les groupes, le courrier, les messages, les notes, les tâches et le calendrier. Les informations peuvent être extraites à partir de plusieurs services cloud de Microsoft tels que :

  • ExchangeAn image showing the primary resources and relationships that are part of the graph
  • OneDrive
  • SharePoint
  • OneNote
  • Planner
  • Azure Active Directory
  • Etc.

 

Au fur et à mesure que les entreprises s’orientent vers le cloud, l’augmentation du trafic et du volume de données entraîne des phénomènes de congestion. Cela se traduit par une perte de productivité, des retards dans les décisions et une mauvaise communication. Microsoft s’attaque donc à ce problème avec l’API Microsoft Graph.

 

Comment fonctionne l’API Microsoft Graph?

Dans Office Graph, les données d’Office 365 sont stockées dans des silos individuels. Ces silos autonomes sont étiquetés par utilisateurs, groupes, fichiers, courrier, calendrier, contacts, tâches, Excel, Insight et leurs relations. Chaque silo a sa propre API unique. Accéder aux données devient donc compliqué pour les développeurs. De plus, la séparation de chaque API ajoute un amas de code sans grande utilité. Par exemple, l’accès aux utilisateurs et aux personnes dans Azure Active Directory nécessitait auparavant un ensemble de règles alors que l’accès aux utilisateurs dans SharePoint en nécessitait un autre. Et pour finir, des Tokens d’accès distincts ont dû être créés pour accéder aux informations provenant de différents silos de données. C’est une méthode extrêmement chronophage et aux résultats discutables ! Voici pourquoi et comment est né, Microsoft Graph API.

L’API Microsoft Graph permet d’accéder aux services Office Graph avec un seul point de terminaison. C’est la fin de la multiplication des Tokens. Avec l’API Microsoft Graph, un seul Token d’accès est requis, quel que soit le service cloud Microsoft utilisé. Microsoft Graph API fournit donc un accès élégant, transparent et efficace aux données lorsque vous en avez besoin.

 

Par où commence-t-on ?

Je vous ai parlé d’un seul point d’entrée. Du coup, la seule URL qu’il faudra retenir est celle-ci : graph.microsoft.com

Graph Explorer

Dans cet onglet vous allez pouvoir tester l’API MS Graph en direct sur un compte de démonstration si vous n’êtes pas connecté, mais aussi avec vos propres données si vous avez décidé de vous connecter avec votre compte, l’application Graph explorer étant déclarée dans tous les tenants O365.

Ce site est un “SWAGGER” retravaillé à la sauce Microsoft. Il vous permet de voir à quoi ressemblent les réponses renvoyées par l’API. Plus besoin donc d’une longue documentation non explicite, lorsque cette page nous donne tout ce dont nous avons besoin.

My Apps

My Apps

Cet onglet est incontournable, ou presque, car il est aussi possible de faire cette étape directement dans Azure. Comme je vous l’ai expliqué un peu plus tôt dans cet article, chaque application doit être enregistrée pour être reconnue par l’API et pour qu’un Token lui soit attribué en fonction des droits qu’elle possède.

 

L’ajout de l’application

Dans cette page, vous allez trouver trois sous-parties très importantes qui vont vous permettre de faire fonctionner votre application avec l’API Graph.

 

ID

Microsoft vous a automatiquement généré un clientID qui correspondra à une seule application. Celle-ci sera à utiliser dans votre application pour générer les accès en fonction des droits de l’utilisateur.

 

Platform

Platform API graph

Microsoft a séparé les application en trois types :

  • Web
  • Application native
  • API Web

Les applications natives correspondent à toutes les applications “clientes” permettant d’être installées sur les appareils des utilisateurs.

 

Permissions

permission graph API

Les permissions autoriseront les utilisateurs à accéder à certaines informations au travers de l’application. Notez que certaines permissions requièrent le consentement d’un administrateur.

 

 

Pour créer une application qui se connecte à l’API MS GRAPH, la suite dépendra de vous ! Pour comprendre comment cela fonctionne avec une application mobile, je vous propose de regarder l’application Xamarin que j’ai créée spécialement pour le RED SHIRT DEV TOUR de Microsoft.

https://github.com/azugfr/RedShirtTour-MSGraphAPI-Lab_Xamarin

 

API GRAPH – BETA

Avant de vous quitter, je vous présente les prochaines méthodes en cours de développement par Microsoft et qui seront bientôt disponible dans l’API :

 

Insight
GETItems Trending around me
GETItems shared with me
Batching
GETItems viewed and Modified by me
POSTPerforms Parallel GETs
POSTCombine a POST and a GET
Microsoft Teams
GETMy joined teams
GETMembers of a team
GETChannels pf a team which I am a member of
GETChannel info
POSTCreate channel
POSTCreate chat thread
GETItems in a team
Outlook Mail
GETEmail I’m @ mentioned