Red Shirt Dev Tour 2018 à Paris – Hands On Labs avec Graph API

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 :
- Exchange
- 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
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
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
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 |
GET | Items Trending around me |
GET | Items shared with me |
Batching |
GET | Items viewed and Modified by me |
POST | Performs Parallel GETs |
POST | Combine a POST and a GET |
Microsoft Teams |
GET | My joined teams |
GET | Members of a team |
GET | Channels pf a team which I am a member of |
GET | Channel info |
POST | Create channel |
POST | Create chat thread |
GET | Items in a team |
Outlook Mail |
GET | Email I’m @ mentioned |