Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

10 API Gateway Pattern + Office 365 API = Microsoft Graph

303 views

Published on

Après un bref aperçu de Graph API et Typescript nous verrons comment utiliser coupler les deux afin d'accéder facilement aux données d'Office 365 et Azure AD.

Published in: Technology
  • Be the first to comment

10 API Gateway Pattern + Office 365 API = Microsoft Graph

  1. 1. aOS Genève 22 juin 2017 API Gateway Pattern + Office 365 API = Microsoft Graph @felix_billon
  2. 2. aOS Genève 22 juin 2017 Félix Billon Développeur Web Organisateur Membre @felix_billon felixbillon http://shakedatcode.fr
  3. 3. aOS Genève 22 juin 2017 Microservices ? Approche Monolithic Approche Microservices Commandes ProduitsClients Commandes ProduitsClients
  4. 4. aOS Genève 22 juin 2017 Problème Approche Monolithic Approche Microservices Client Commandes ProduitsClients Commandes ProduitsClients Client
  5. 5. aOS Genève 22 juin 2017 API Gateway Pattern Félix Billon @felix_billon
  6. 6. aOS Genève 22 juin 2017 API Gateway pattern Commandes ProduitsClients Client Gateway
  7. 7. aOS Genève 22 juin 2017 Implémentation : NetFlix Falcor
  8. 8. aOS Genève 22 juin 2017 Implémentation : Facebook GraphQL Service 2 Service 3Service 1 Client GraphQL Server
  9. 9. aOS Genève 22 juin 2017 Implémentation : Microsoft Graph
  10. 10. aOS Genève 22 juin 2017 Microsoft Graph Félix Billon @felix_billon
  11. 11. aOS Genève 22 juin 2017 En bref • API Gateway pour communiquer avec l’ensemble des produits d’Office 365 mais pas que !
  12. 12. aOS Genève 22 juin 2017 Vision macro
  13. 13. aOS Genève 22 juin 2017 Authentification : via un utilisateur délégation des permissions 1. Enregistrement de l’application. 2. Appeler le serveur d’autorisation 3. Obtenir un access token 4. Appeler Micrososft Graph avec l’acess token 5. Rafraichir le token expiré avec le refresh token
  14. 14. aOS Genève 22 juin 2017 Authentification : sans utilisateur permission propre à l’application 1. Enregistrement de l’application. 2. Configurer les permissions de l’application (dans le portail) 3. Obtenir l’approbation d’un administrateur 4. Obtenir un access token 5. Appeler Micrososft Graph avec l’acess token
  15. 15. aOS Genève 22 juin 2017 Authentification • Librairie : • Azure AD (ADAL) • Azure AD 2.0 (MSAL) • MS Graph connect sample : • Angular2 • Node.JS • Android • PHP • …
  16. 16. aOS Genève 22 juin 2017 Utilisations MS Graph API • API rest classique : http + verb. Verbe Description GET Lire les données d’une ressource POST Créer une ressource ou effectuer une action PATCH Mettre à jour une ressources avec de nouvelles valeurs PUT Remplacer une ressource DELETE Supprimer une ressource
  17. 17. aOS Genève 22 juin 2017 Utilisations MS Graph API • Structure d’une requête : • Exemple : • https://graph.microsoft.com/v1.0/me/messages • https://graph.microsoft.com/beta/me/insights/trending • https://graph.microsoft.com/v1.0/me/messages?$filter=importance eq 'high‘
  18. 18. aOS Genève 22 juin 2017 Parcourir le graph • https://graph.microsoft.com/{version}/$metadata
  19. 19. aOS Genève 22 juin 2017 Personnaliser la réponse Nom Description $filter Filtre les résultats (lignes) $select Filtre les propriétés (colonnes) $expand Permet d’obtenir des ressources connexes. $orderBy Ordonne les résultats $top Limite les résultats. $count Donne le nombre de ressources correspondant à la requête. $skip Permet de sauter des résultats $search Recherche parmi les résultats
  20. 20. aOS Genève 22 juin 2017 Batch request • Permet de faire plusieurs requête en une seul
  21. 21. aOS Genève 22 juin 2017 Tracker les changements • Utiliser le query-parameter : $delta • Permet de parcourir l’ensemble des mutations de la ressource. • Retourne un nœud nommé @odata.nextLink = prochaine page de changement • Retourne un nœud nommé @odata.deltaLink = plus de changement
  22. 22. aOS Genève 22 juin 2017 Etendre les données • Deux façon : • Open extensions : • Simple d’utilisation • Permet d’ajouter des données non typée • Directement liée à une ressource • Récupération via $expand • Schema extentions : • Plus complexe • Ensemble de données typées. • Permet d’étendre le schéma du graph • Récupération via $select, possibilité de filtré dessus, …
  23. 23. aOS Genève 22 juin 2017 Exemples et SDKs
  24. 24. aOS Genève 22 juin 2017 SDKs
  25. 25. aOS Genève 22 juin 2017 Conclusion Félix Billon
  26. 26. aOS Genève 22 juin 2017 Conclusion • Grande avancée qui s’inscrit dans la logique de fédération des services sous Office 365. • Pas encore toutes les APIs/fonctionnalités et beaucoup en preview. • Avance à très grands pas ! • Le tournant à ne pas manquer pour les dev Office 365.
  27. 27. aOS Genève 22 juin 2017 Merci à nos sponsors !

×