SlideShare une entreprise Scribd logo
1  sur  49
Quoi de neuf avec le
Microsoft Graph?
Ou la terre des API’s
Par: Vincent Biret
Merci pour votre soutien
Vincent Biret
Basé à Montréal et se balade autour du monde
@baywet
bit.ly/vincentbiret
MVP Office Servers and Services
Développeur Azure et Office 365 @ 2ToLead
Microsoft a effectué un investissement immense depuis plusieurs années pour unifier ses
API, modes d’authentifications, formats de données. Et fournir un modèle convergent.
Pourquoi le Microsoft Graph?
90%
of Fortune 500
companies
Utilisent
Office 365
100M
Usagers actifs
par mois
Office 365
souscriptions
payantes
8T
objets
dans Microsoft
Graph
(emails, évènements,
calendrier, usagers,
fichiers…)
Le Graph est la clef de voûte de la stratégie de Microsoft et beaucoup d’investissements y
sont faits depuis 2/3 ans
Beaucoup de matériel à couvrir
L’agenda est chargé, on va essayer de terminer à l’heure, démonstrations tout du long
Agenda
•Introduction
•Authentification et Autorisation
•SharePoint & OneDrive
•Social
•Outlook
•Général
•Azure Fonctions
•Conclusion
Session interactive, je vais vous poser des questions, n’hésitez pas à poser des questions
Prêt(e)s?
Ou le chauchemar du développeur Web moderne
Authentification et Autorisation
La v1 est toujours recommandée si vous devez uniquement supporter des comptes
O365. Microsoft travaille encore à migrer l’ensemble des services et faire converger les
modèles.
Deux endpoints
• AAD offre actuellement deux
endpoints (v1 et v2)
• V2 apporte:
• Authentification et autorisation
unifiée entre MSID et AAD
• Gestion par scopes (et non
resources) de manière dynamique
• Client credential flow
• On Behalf Flow
• Nouveau portail
apps.dev.microsoft.com
• Limitations V2:
• # de secrets
• sécurisation d’API
• gestion app corpo (uniquement
MSID)
• pas de wildcard redirect URL
• resources disponibles limitées
Le modèle de scopes permet une escalade régulière des permissions demandées à
l’usager en fonction des fonctionnalités qu’il utilise
Resources vs Scopes
• Deux façons de donner des permissions granulaires
• Les ressources doivent être déclarée d’avance avec l’application et
acceptées toutes d’un coup
• Les scopes permettent de patronner le service et demander les
permissions au fur et à mesure
• …/oauth2/authorize? client_id=<id>&resource=https%3A%2F%2Fgraph.windows.net%2F
• …/oauth2/v2.0/authorize?client_id=<id>
&scope=https%3A%2F%2Fgraph.windows.net%2Fdirectory.read%20https%3A%2F%2Fgraph.windo
ws.net%2Fdirectory.write
La clef c’est de bien étudier quels scenarios on implémentent et de quels protocoles on
aura besoin avant de faire un choix
ADAL et MSAL
• Deux librairies d’auth par Microsoft pour AAD
• ADAL utilise endpoints v1
• MSAL utilise endpoints v2
• MSAL encore en preview mais support commercial
Microsoft Graph & SharePoint/OneDrive
GROUPS
PEOPLE
CONVERSATIONS
FILES
INSIGHTS
L’intégration du graph avec SharePoint s’étend peu à peu, le but n’est pas d’avoir une
parité complète avec REST/CSOM mais de fournir une API plus simple d’utilisation
APIs Listes et Sites en disponibilité générale
• Accédez au listes et librairies de
document SharePoint
• Créez des types de contenus et
colonnes personnalisés via le
graph
• Lisez et écrivez des valeurs
personnalisées depuis des
application hébergées par
SharePoint
On peut apercevoir une convergence des modèles entre OneDrive et SharePoint
Détails de l’API de listes
v1.0/sites/{site-id}/lists/{list-id}/
On peut apercevoir une convergence du modèle de groupes/équipes avec le modèle
SharePoint
Détails de l’API de sites
• Retourne les propriétés et relations pour un site d’équipe SharePoint
• Différentes « clefs primaires »
• Nom d’hôte de la collection de sites
• GUID de la collection de sites
• GUID du site
/groups/{group-id}/sites/root
/sites/root
API Graph OneDrive
• Disponibilité Générale
• Meilleure gestion des permissions déléguées
• Beta
• Historique des versions de fichiers
• Fil d’activités intégré (project Rome)
• Gestion des liens de partage
• Conversion de fichiers en PDF
• Génération de miniatures pour les documents
• /beta/me/drive/items/{item-id}/thumbnails
API OneDrive Insights/Recherche
• Nouveaux « insights »
• Éléments récents
• Partagés avec moi
• (plus de détails dans la partie générale)
• Recherche avec $filter et $search
Accès au Graph depuis SPFX
Démonstration
« Social »
L’insight working with a évolué avec le temps et le feedback de la communauté pour
fournir plus d’informations
People API (beta)
• Evolution du insight « workingWith »
• Agrégation de:
• Azure Active Directory
• Contacts (outlook)
• Personnes avec qui l’usager communique
(courriels, IM)
• Personnes avec qui l’usager collabore (SP,
OD4B)
• …
• GET /me/people
Le but est de déterminer rapidement quels éléments ont besoin de l’attention de l’usager
Mentions API (beta)
• Liste les mentions à un usager sur une objet ou un ensemble d’objets
• Limité à Outlook (mail) pour le moment
• GET /me/messages?
select=Subject,Sender,ReceivedDateTime,MentionsPreview
A terme le modèle entre groupe et team va converger
Groups API (GA)
• Les groupes unifiés offrent des APIs eux aussi
• GET /v1.0/groups?$filter=groupTypes/any(c:c+eq+'Unified’)
• Tous les composants des groups sont addressables avec leurs API:
• Drive
• Calendrier
• Listes
• Sites
• OneNote
• …
Microsoft souhaite fournir aux développeurs la possibilité d’intéragir avec le nouveau né
Office autrement qu’avec les bots et le modèle d’extensibilité
Teams API (beta)
• Accès au modèle de teams:
• team/group
• Channel
• Thread
• + autres workloads (calendrier, drive, plans…)
• POST /groups/{id}/channels/{id}/chatthreads
• GET /groups/{id}/channels
Outlook
Il est beaucoup plus facile d’organiser des réunions via le graph en trouvant des plages
de disponibilités via ce nouveau endpoint.
FindTime (GA)
• Permet de trouver une disponibilité commune entre plusieurs usagers
• Hautement paramétrable
• Périodes de la journée (travail, perso…)
• Pourcentage de personnes disponibles pour considérer une option valide
• Est-ce que l’organisateur est optionnel (assistant)
• Contrainte d’emplacement
• Durée de la réunion
Beta
• Trouver une salle de réunion
• Règles de courrier
• Catégories
• Horaires de travail
• Fuseau horaire
• En-têtes email
• Tâches Outlook
• Réponses « Out of office »
/me/findRoomLists
/me/mailFolders/inbox/messagerules
/me/outlook/masterCategories
/me/outlook/supportedTimeZones
/me/outlook/tasks
/me/mailboxSettings/automaticRepliesSetti
ng
meeting workspace find time
Démonstration
Améliorations générales
Microsoft essaie d’améliorer l’expérience de développement autour du Graph
$whatif
• Simplement ajouter $whatif à la fin d’une requ6ete pour savoir d’où viennent les données
• Pratique pour débugger
• /me/?$whatif
{
"Description": "Execute HTTP request",
"Uri": "https://graph.windows.net/v2/c03a026e-335e-458c-bad2-
3309fe59663b/users('c9452811-4b6e-4073-b7cf-
3f681f55539b')?$select=businessPhones,displayName,givenName,jobTitle,mail,mobilePhon
e,officeLocation,preferredLanguage,surname,userPrincipalName,id",
"HttpMethod": "GET"
}
Microsoft affirme une volonté de fournir plus d’intelligence sur les données personnelles
aux développeurs mais cherche encore son chemin
Insights déplacés (beta)
• /me/trendingAround => /me/insights/trending
• /me/workingWith => /me/people
• Nouveau /me/insights/used
• Documents utilisés récemment par l’usager
• Nouveau /me/insights/shared
• Documents partagés avec moi (email ou modern attachement)
Même s’il n’est pas encore possible d’ajouter des types d’entités ou de nouveaux edges
(relations) Microsoft travaille activement à fournir un modèle complet d’extensibilité
Open Extensions et Schema Extensions (GA)
• Open Extensions
• Capacité de déclarer des propriétés ad-hoc sur des objets
• Sorte de « property bag » du graph
• Schema extensions
• Ajouts au schéma des types d’entités
• Un peu comme des « colonnes personnalisées » pour le graph
• Possibilité de filtrage sur ces données via $filter
• POST /schemaExtensions
Il est maintenant aisé de bâtir des applications de synchronisation de données et/ou qui
réagissent à des changements grâce au Graph
WebHooks & Delta API (GA)
• Delta API
• Lister les changements depuis la dernière requête
• Première requête retourne aussi un change token et next url
• Requête sur cette next url retourne uniquement ce qui a changé depuis
• Répéter l’opération
• /me/drive/root/delta
• WebHooks
• Dérivé du pub-sub design pattern, basé sur des standards web
• Permet de s’aboner à des changements de données/évènements
• Souscriptions doivent être renouvelées tous les 3 jours
• Sorte de « (remote) event receiver » asynchrones pour le web
Application API (beta)
• Capacité d’ajouter/modifier
des applications AAD
• Dernière pierre manquante au
déploiement entièrement
automatisé
• GET /applications
Delta API
Démonstration
Azure Functions & Microsoft Graph
Le but de Microsoft est de simplifier la vie aux « citizen developers » pour leur permettre
de bâtir des solutions robustes en peu de temps et d’effort
Microsoft Graph + Azure Functions
• Bénéfices du « serverless »
• Accès aux données du Graph
• Sécurité de haut niveau et prête à l’emploi
• Basé sur App Services
BRK3202 – Business processes with Microsoft Graph + Azure Functions
BRK2234 – Modern API development in a serverless world with Azure Functions
Nouvelle « liaison » pour les fonctions
• Directement au Graph
• Utilise le SDK du graph
• Gère l’auth et l’authZ pour vous
Azure Function interroge le
Microsoft Graph
Web hook
Déclanche la fonction
Microsoft
Graph
Cette solution technique permet de bâtir des API robustes et sécurisées rapidement et
sans efforts. Ces API’s peuvent ensuite être utilisées dans une infinité de scenarios.
Exemple bâtir une api de calendrier
Page web interroge la fonction
{}
La fonction retourne une liste
JSON des évènements au client
Azure Fonction interroge le Microsoft
Graph
Microsoft
Graph
Fonction d’appel du graph
Démonstration
Autres changements importants
Même s’il a fallu plus de temps que prévu aux équipes planner pour livrer une API, elle
est finalement là et permet une interaction complète avec les données de planner.
Planner APIs (GA)
• Suppression des API dépréciées de beta
• GA v1 des nouvelles API
• GET /groups/<id>/planner/plans
• GET /planner/plans/<id>/buckets
• GET /planner/buckets/<id>/tasks
• GET /planner/tasks/<id>
Enormes ajouts d’API’s au Graph pour supporter la gestion des flottes de périphériques,
d’application, la distribution de la configuration, enregistrement AAD…
Intune (beta)
• Solution de gestion des applications et périphériques de l’entreprise
• GET /deviceAppManagement/mobileApps
• POST /deviceManagement/termsAndConditions
• POST /deviceManagement/windowsAutopilotDeploymentProfiles
• GET /deviceAppManagement/windowsManagementApp/healthStates/
• …
Continuité des actions au travers des périphériques
Project Rome (beta)
Imaginez que votre solution de gestion des notes de frais puisse permettre à l’usager de
prendre des photos sur mobile et compléter les informations sur pc en lui offrant une
expérience sans accroc…
Project Rome – détails techniques
• Plateforme de services OS
• SDK
• Endpoints dans le graph
• GET me/devices
• POST me/devices/{id}/commands
• PUT /me/activities/{appActivityId}
Surtout utile pour les fournisseurs de noms de domaines, grandes entreprises qui veulent
automatiser la gestion ou pour des scenarios DevOps. Le but annoncé et de faciliter la
configuration d’Office 365, peut importe d’où vient votre domaine.
API de domaines (beta)
• API’s permettant d’associer/valider/vérifier un nom de domaine
• GET https://graph.microsoft.com/beta/domains/contoso.com
C’est le moment de se dire aurevoir
Conclusion
Conclusion
• Microsoft investit lourdement dans le Graph
• C’est un point central de la stratégie des prochaines années
• Une mine d’or pour vos applications
• Temps de développement écourté
• Meilleures applications pour les usagers
• Economies et/ou gains de productivité pour la compagnie
Bit.ly/vincentbiret @baywet slideshare.net/VincentBIRET
Merci! Questions?
Github.com/onedrive => sample

Contenu connexe

Tendances

2019-03-06 aOS Papeete - 2 - Office 365 a detailed analysis - Michael Noel
2019-03-06 aOS Papeete - 2 - Office 365 a detailed analysis - Michael Noel 2019-03-06 aOS Papeete - 2 - Office 365 a detailed analysis - Michael Noel
2019-03-06 aOS Papeete - 2 - Office 365 a detailed analysis - Michael Noel aOS Community
 
Conf'SharePoint 2013 - B05 Une gouvernance orientée services pour share poi...
Conf'SharePoint 2013 - B05   Une gouvernance orientée services pour share poi...Conf'SharePoint 2013 - B05   Une gouvernance orientée services pour share poi...
Conf'SharePoint 2013 - B05 Une gouvernance orientée services pour share poi...Patrick Guimonet
 
Office 365 une analyse détaillée , version Française, Michael Noel
Office 365 une analyse détaillée , version Française, Michael NoelOffice 365 une analyse détaillée , version Française, Michael Noel
Office 365 une analyse détaillée , version Française, Michael NoelaOS Community
 
Les 10 strategies d'adoption de SharePoint 2013
Les 10 strategies d'adoption de SharePoint 2013Les 10 strategies d'adoption de SharePoint 2013
Les 10 strategies d'adoption de SharePoint 2013Conseils Atelya
 
Formation Tévolys : Aborder SharePoint 2013
Formation Tévolys : Aborder SharePoint 2013Formation Tévolys : Aborder SharePoint 2013
Formation Tévolys : Aborder SharePoint 2013agencetevolys
 
Bâtir une analyse fonctionnelle efficace avec SharePoint.
Bâtir une analyse fonctionnelle efficace avec SharePoint.Bâtir une analyse fonctionnelle efficace avec SharePoint.
Bâtir une analyse fonctionnelle efficace avec SharePoint.GSoft
 
Présentation SharePoint 2013
Présentation SharePoint 2013Présentation SharePoint 2013
Présentation SharePoint 2013Laurent Rouable
 
SharePoint Days Casablanca - OneDrive for business démystifié
SharePoint Days Casablanca - OneDrive for business démystifiéSharePoint Days Casablanca - OneDrive for business démystifié
SharePoint Days Casablanca - OneDrive for business démystifiéBenoit Jester
 
Mieux comprendre SharePoint 2013
Mieux comprendre SharePoint 2013Mieux comprendre SharePoint 2013
Mieux comprendre SharePoint 2013Benjamin Niaulin
 
SharePoint Days Casablanca 2016 - Les nouveautés de SharePoint 2016
SharePoint Days Casablanca 2016 -  Les nouveautés de SharePoint 2016SharePoint Days Casablanca 2016 -  Les nouveautés de SharePoint 2016
SharePoint Days Casablanca 2016 - Les nouveautés de SharePoint 2016Benoit Jester
 
SharePoint Days Casablanca - Retours d'expériences et meilleures pratiques po...
SharePoint Days Casablanca - Retours d'expériences et meilleures pratiques po...SharePoint Days Casablanca - Retours d'expériences et meilleures pratiques po...
SharePoint Days Casablanca - Retours d'expériences et meilleures pratiques po...Benoit Jester
 
DéCouverte GéNéRale De Microsoft Office Share Point Server 2007
DéCouverte GéNéRale De Microsoft Office Share Point Server 2007DéCouverte GéNéRale De Microsoft Office Share Point Server 2007
DéCouverte GéNéRale De Microsoft Office Share Point Server 2007UGAIA
 
SharePoint dans le Nuage toutes les options 2014-04-14
SharePoint dans le Nuage  toutes les options   2014-04-14SharePoint dans le Nuage  toutes les options   2014-04-14
SharePoint dans le Nuage toutes les options 2014-04-14Patrick Guimonet
 
2SeeU Conférence plénière - Nouveautés de SharePoint 2016
2SeeU Conférence plénière - Nouveautés de SharePoint 20162SeeU Conférence plénière - Nouveautés de SharePoint 2016
2SeeU Conférence plénière - Nouveautés de SharePoint 20162SeeU
 
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!Franck Cornu
 
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...Patrick Guimonet
 
MIcrosoft experiences - SharePoint 2016 : architecture, déploiement et topol...
MIcrosoft experiences  - SharePoint 2016 : architecture, déploiement et topol...MIcrosoft experiences  - SharePoint 2016 : architecture, déploiement et topol...
MIcrosoft experiences - SharePoint 2016 : architecture, déploiement et topol...Marius Constantinescu [MVP]
 
Utilisation des fonctionnalités de collaboration dans SharePoint 2010 et 2013
Utilisation des fonctionnalités de collaboration dans SharePoint 2010 et 2013Utilisation des fonctionnalités de collaboration dans SharePoint 2010 et 2013
Utilisation des fonctionnalités de collaboration dans SharePoint 2010 et 2013GSoft
 
inext café #03 - Automatiser ses processus métier avec SharePoint et Nintex
inext café #03 - Automatiser ses processus métier avec SharePoint et Nintexinext café #03 - Automatiser ses processus métier avec SharePoint et Nintex
inext café #03 - Automatiser ses processus métier avec SharePoint et NintexAlexandre David
 
REBUILD 2014 - Architectures Yammer - Office 365 - SharePoint hybrides oui ! ...
REBUILD 2014 - Architectures Yammer - Office 365 - SharePoint hybrides oui !...REBUILD 2014 - Architectures Yammer - Office 365 - SharePoint hybrides oui !...
REBUILD 2014 - Architectures Yammer - Office 365 - SharePoint hybrides oui ! ...Patrick Guimonet
 

Tendances (20)

2019-03-06 aOS Papeete - 2 - Office 365 a detailed analysis - Michael Noel
2019-03-06 aOS Papeete - 2 - Office 365 a detailed analysis - Michael Noel 2019-03-06 aOS Papeete - 2 - Office 365 a detailed analysis - Michael Noel
2019-03-06 aOS Papeete - 2 - Office 365 a detailed analysis - Michael Noel
 
Conf'SharePoint 2013 - B05 Une gouvernance orientée services pour share poi...
Conf'SharePoint 2013 - B05   Une gouvernance orientée services pour share poi...Conf'SharePoint 2013 - B05   Une gouvernance orientée services pour share poi...
Conf'SharePoint 2013 - B05 Une gouvernance orientée services pour share poi...
 
Office 365 une analyse détaillée , version Française, Michael Noel
Office 365 une analyse détaillée , version Française, Michael NoelOffice 365 une analyse détaillée , version Française, Michael Noel
Office 365 une analyse détaillée , version Française, Michael Noel
 
Les 10 strategies d'adoption de SharePoint 2013
Les 10 strategies d'adoption de SharePoint 2013Les 10 strategies d'adoption de SharePoint 2013
Les 10 strategies d'adoption de SharePoint 2013
 
Formation Tévolys : Aborder SharePoint 2013
Formation Tévolys : Aborder SharePoint 2013Formation Tévolys : Aborder SharePoint 2013
Formation Tévolys : Aborder SharePoint 2013
 
Bâtir une analyse fonctionnelle efficace avec SharePoint.
Bâtir une analyse fonctionnelle efficace avec SharePoint.Bâtir une analyse fonctionnelle efficace avec SharePoint.
Bâtir une analyse fonctionnelle efficace avec SharePoint.
 
Présentation SharePoint 2013
Présentation SharePoint 2013Présentation SharePoint 2013
Présentation SharePoint 2013
 
SharePoint Days Casablanca - OneDrive for business démystifié
SharePoint Days Casablanca - OneDrive for business démystifiéSharePoint Days Casablanca - OneDrive for business démystifié
SharePoint Days Casablanca - OneDrive for business démystifié
 
Mieux comprendre SharePoint 2013
Mieux comprendre SharePoint 2013Mieux comprendre SharePoint 2013
Mieux comprendre SharePoint 2013
 
SharePoint Days Casablanca 2016 - Les nouveautés de SharePoint 2016
SharePoint Days Casablanca 2016 -  Les nouveautés de SharePoint 2016SharePoint Days Casablanca 2016 -  Les nouveautés de SharePoint 2016
SharePoint Days Casablanca 2016 - Les nouveautés de SharePoint 2016
 
SharePoint Days Casablanca - Retours d'expériences et meilleures pratiques po...
SharePoint Days Casablanca - Retours d'expériences et meilleures pratiques po...SharePoint Days Casablanca - Retours d'expériences et meilleures pratiques po...
SharePoint Days Casablanca - Retours d'expériences et meilleures pratiques po...
 
DéCouverte GéNéRale De Microsoft Office Share Point Server 2007
DéCouverte GéNéRale De Microsoft Office Share Point Server 2007DéCouverte GéNéRale De Microsoft Office Share Point Server 2007
DéCouverte GéNéRale De Microsoft Office Share Point Server 2007
 
SharePoint dans le Nuage toutes les options 2014-04-14
SharePoint dans le Nuage  toutes les options   2014-04-14SharePoint dans le Nuage  toutes les options   2014-04-14
SharePoint dans le Nuage toutes les options 2014-04-14
 
2SeeU Conférence plénière - Nouveautés de SharePoint 2016
2SeeU Conférence plénière - Nouveautés de SharePoint 20162SeeU Conférence plénière - Nouveautés de SharePoint 2016
2SeeU Conférence plénière - Nouveautés de SharePoint 2016
 
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
Boostez votre recherche SharePoint grâce aux Microsoft Cognitive Services!
 
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...
 
MIcrosoft experiences - SharePoint 2016 : architecture, déploiement et topol...
MIcrosoft experiences  - SharePoint 2016 : architecture, déploiement et topol...MIcrosoft experiences  - SharePoint 2016 : architecture, déploiement et topol...
MIcrosoft experiences - SharePoint 2016 : architecture, déploiement et topol...
 
Utilisation des fonctionnalités de collaboration dans SharePoint 2010 et 2013
Utilisation des fonctionnalités de collaboration dans SharePoint 2010 et 2013Utilisation des fonctionnalités de collaboration dans SharePoint 2010 et 2013
Utilisation des fonctionnalités de collaboration dans SharePoint 2010 et 2013
 
inext café #03 - Automatiser ses processus métier avec SharePoint et Nintex
inext café #03 - Automatiser ses processus métier avec SharePoint et Nintexinext café #03 - Automatiser ses processus métier avec SharePoint et Nintex
inext café #03 - Automatiser ses processus métier avec SharePoint et Nintex
 
REBUILD 2014 - Architectures Yammer - Office 365 - SharePoint hybrides oui ! ...
REBUILD 2014 - Architectures Yammer - Office 365 - SharePoint hybrides oui !...REBUILD 2014 - Architectures Yammer - Office 365 - SharePoint hybrides oui !...
REBUILD 2014 - Architectures Yammer - Office 365 - SharePoint hybrides oui ! ...
 

Similaire à #SPSParis quoi de neuf avec le microsoft graph

Global Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft GraphGlobal Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft GraphVincent Biret
 
Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18
Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18
Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18Vincent Biret
 
2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...
2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...
2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...Modern Workplace Conference Paris
 
Guspqc oct 2018 #msignite news dev
Guspqc oct 2018  #msignite news devGuspqc oct 2018  #msignite news dev
Guspqc oct 2018 #msignite news devVincent Biret
 
aOS Nice 2020 : Les nouveautés du MS Ignite 2020 sur les Content Services
aOS Nice 2020 : Les nouveautés du MS Ignite 2020 sur les Content ServicesaOS Nice 2020 : Les nouveautés du MS Ignite 2020 sur les Content Services
aOS Nice 2020 : Les nouveautés du MS Ignite 2020 sur les Content ServicesSébastien Paulet
 
Le Microsoft Graph et le développement Office 365
Le Microsoft Graph et le développement Office 365Le Microsoft Graph et le développement Office 365
Le Microsoft Graph et le développement Office 365MSDEVMTL
 
MSDEVMTL - Le Microsoft Graph et le développement Office 365
MSDEVMTL - Le Microsoft Graph et le développement Office 365MSDEVMTL - Le Microsoft Graph et le développement Office 365
MSDEVMTL - Le Microsoft Graph et le développement Office 365Sébastien Levert
 
Introduction au nouveau moteur de workflow de Microsoft : Flow
Introduction au nouveau moteur de workflow de Microsoft : FlowIntroduction au nouveau moteur de workflow de Microsoft : Flow
Introduction au nouveau moteur de workflow de Microsoft : FlowSabrine Chouk
 
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)serge luca
 
MSDevMtl introduction au dev SharePoint online, office et office 365
MSDevMtl introduction au dev SharePoint online, office et office 365MSDevMtl introduction au dev SharePoint online, office et office 365
MSDevMtl introduction au dev SharePoint online, office et office 365Vincent Biret
 
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènementsGroupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènementsVincent Biret
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
201510 elc fd_t_online
201510 elc fd_t_online201510 elc fd_t_online
201510 elc fd_t_onlineDidier Maignan
 
Comment vous préparer à un projet Cloud Office 365?
Comment vous préparer à un projet Cloud Office 365?Comment vous préparer à un projet Cloud Office 365?
Comment vous préparer à un projet Cloud Office 365?Microsoft Technet France
 
Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net coreSébastien Ollivier
 
Introduction à Office 365
Introduction à Office 365Introduction à Office 365
Introduction à Office 365Mario Leblond
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Microsoft Technet France
 
#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teamsVincent Biret
 
Project Server/PowerBI : Reporting et analyse de données grâce à la Business ...
Project Server/PowerBI : Reporting et analyse de données grâce à la Business ...Project Server/PowerBI : Reporting et analyse de données grâce à la Business ...
Project Server/PowerBI : Reporting et analyse de données grâce à la Business ...Microsoft Ideas
 

Similaire à #SPSParis quoi de neuf avec le microsoft graph (20)

Global Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft GraphGlobal Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
Global Office Bootcamp Montreal 2018 Introduction au Microsoft Graph
 
Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18
Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18
Introduction au #MicrosoftGraph demarrez vite et livrez rapidemment #MWCP18
 
2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...
2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...
2018-10-17 J1 7D - Introduction au Microsoft Graph démarrez vite et livrez ra...
 
Guspqc oct 2018 #msignite news dev
Guspqc oct 2018  #msignite news devGuspqc oct 2018  #msignite news dev
Guspqc oct 2018 #msignite news dev
 
aOS Nice 2020 : Les nouveautés du MS Ignite 2020 sur les Content Services
aOS Nice 2020 : Les nouveautés du MS Ignite 2020 sur les Content ServicesaOS Nice 2020 : Les nouveautés du MS Ignite 2020 sur les Content Services
aOS Nice 2020 : Les nouveautés du MS Ignite 2020 sur les Content Services
 
Le Microsoft Graph et le développement Office 365
Le Microsoft Graph et le développement Office 365Le Microsoft Graph et le développement Office 365
Le Microsoft Graph et le développement Office 365
 
MSDEVMTL - Le Microsoft Graph et le développement Office 365
MSDEVMTL - Le Microsoft Graph et le développement Office 365MSDEVMTL - Le Microsoft Graph et le développement Office 365
MSDEVMTL - Le Microsoft Graph et le développement Office 365
 
Introduction au nouveau moteur de workflow de Microsoft : Flow
Introduction au nouveau moteur de workflow de Microsoft : FlowIntroduction au nouveau moteur de workflow de Microsoft : Flow
Introduction au nouveau moteur de workflow de Microsoft : Flow
 
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
Introduction au nouveau moteur de workflow de Microsoft : Flow (Serge Luca)
 
MSDevMtl introduction au dev SharePoint online, office et office 365
MSDevMtl introduction au dev SharePoint online, office et office 365MSDevMtl introduction au dev SharePoint online, office et office 365
MSDevMtl introduction au dev SharePoint online, office et office 365
 
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènementsGroupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
Groupe usagers SharePoint Quebec Juin 2019 - Nouveautés de dev et évènements
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
201510 elc fd_t_online
201510 elc fd_t_online201510 elc fd_t_online
201510 elc fd_t_online
 
Piloter intune avec PowerShell
Piloter intune avec PowerShellPiloter intune avec PowerShell
Piloter intune avec PowerShell
 
Comment vous préparer à un projet Cloud Office 365?
Comment vous préparer à un projet Cloud Office 365?Comment vous préparer à un projet Cloud Office 365?
Comment vous préparer à un projet Cloud Office 365?
 
Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net core
 
Introduction à Office 365
Introduction à Office 365Introduction à Office 365
Introduction à Office 365
 
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
Retours d'expériences et bonnes pratiques sur l'implémentation d'ADFS dans Sh...
 
#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams
 
Project Server/PowerBI : Reporting et analyse de données grâce à la Business ...
Project Server/PowerBI : Reporting et analyse de données grâce à la Business ...Project Server/PowerBI : Reporting et analyse de données grâce à la Business ...
Project Server/PowerBI : Reporting et analyse de données grâce à la Business ...
 

Plus de Vincent Biret

#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawaVincent Biret
 
#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introductionVincent Biret
 
December #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demoDecember #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demoVincent Biret
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFxVincent Biret
 
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...Vincent Biret
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it mattersVincent Biret
 
MS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slidesMS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slidesVincent Biret
 
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introductionMS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introductionVincent Biret
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraphVincent Biret
 
#MicrosoftGraph Community call - automating your digital workplace provisioni...
#MicrosoftGraph Community call - automating your digital workplace provisioni...#MicrosoftGraph Community call - automating your digital workplace provisioni...
#MicrosoftGraph Community call - automating your digital workplace provisioni...Vincent Biret
 
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...Vincent Biret
 
#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2Vincent Biret
 
#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraphVincent Biret
 
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...Vincent Biret
 
#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain powerVincent Biret
 
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...Vincent Biret
 
#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting startedVincent Biret
 
#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stackVincent Biret
 
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...Vincent Biret
 
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...Vincent Biret
 

Plus de Vincent Biret (20)

#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa#MSGraph introduction at #M365SaturdayOttawa
#MSGraph introduction at #M365SaturdayOttawa
 
#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction#MWCP19 atelier provisionnement #Office365 slides introduction
#MWCP19 atelier provisionnement #Office365 slides introduction
 
December #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demoDecember #PnP #SPFx call #CLI exteranlize demo
December #PnP #SPFx call #CLI exteranlize demo
 
#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx#ESPC19 How to do #DevOps with #SPFx
#ESPC19 How to do #DevOps with #SPFx
 
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
#SPSToronto Digital Workplace provisioning with #MicrosoftGraph and #Azure fu...
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters
 
MS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slidesMS365 dev bootcamp - day introduction slides
MS365 dev bootcamp - day introduction slides
 
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introductionMS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
MS365 Dev Bootcamp Montreal 2019 - Microsoft graph introduction
 
#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph#SPSOttawa introduction to the #microsoftGraph
#SPSOttawa introduction to the #microsoftGraph
 
#MicrosoftGraph Community call - automating your digital workplace provisioni...
#MicrosoftGraph Community call - automating your digital workplace provisioni...#MicrosoftGraph Community call - automating your digital workplace provisioni...
#MicrosoftGraph Community call - automating your digital workplace provisioni...
 
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
#SPFestSEA Automate digital workplace provisioning with #MicrosoftGraph and #...
 
#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2#SPFestSea Introduction to #Azure #Functions v2
#SPFestSea Introduction to #Azure #Functions v2
 
#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph
 
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
#SPSNYC 2019 Automating your digital workplace provisioning with #MicrosoftGr...
 
#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power#MSBuild using #IoT to improve peoples's health and brain power
#MSBuild using #IoT to improve peoples's health and brain power
 
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
#SPFestDC Automate your digital workplace provisioning with #Microsoft Graph ...
 
#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started#SPFestDC #Azure #Functions V2: What's new and getting started
#SPFestDC #Azure #Functions V2: What's new and getting started
 
#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack#SPFestDC Migrate your custom solutions to the modern stack
#SPFestDC Migrate your custom solutions to the modern stack
 
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
#SPSHouston Automating your digital workplace proivisioning with #Azure Durab...
 
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
Microsoft #ignite tour #toronto 2019 How to do #DevOps with the #SPFx and why...
 

#SPSParis quoi de neuf avec le microsoft graph

  • 1. Quoi de neuf avec le Microsoft Graph? Ou la terre des API’s Par: Vincent Biret
  • 3.
  • 4. Vincent Biret Basé à Montréal et se balade autour du monde @baywet bit.ly/vincentbiret MVP Office Servers and Services Développeur Azure et Office 365 @ 2ToLead
  • 5. Microsoft a effectué un investissement immense depuis plusieurs années pour unifier ses API, modes d’authentifications, formats de données. Et fournir un modèle convergent. Pourquoi le Microsoft Graph? 90% of Fortune 500 companies Utilisent Office 365 100M Usagers actifs par mois Office 365 souscriptions payantes 8T objets dans Microsoft Graph (emails, évènements, calendrier, usagers, fichiers…)
  • 6. Le Graph est la clef de voûte de la stratégie de Microsoft et beaucoup d’investissements y sont faits depuis 2/3 ans Beaucoup de matériel à couvrir
  • 7. L’agenda est chargé, on va essayer de terminer à l’heure, démonstrations tout du long Agenda •Introduction •Authentification et Autorisation •SharePoint & OneDrive •Social •Outlook •Général •Azure Fonctions •Conclusion
  • 8. Session interactive, je vais vous poser des questions, n’hésitez pas à poser des questions Prêt(e)s?
  • 9. Ou le chauchemar du développeur Web moderne Authentification et Autorisation
  • 10. La v1 est toujours recommandée si vous devez uniquement supporter des comptes O365. Microsoft travaille encore à migrer l’ensemble des services et faire converger les modèles. Deux endpoints • AAD offre actuellement deux endpoints (v1 et v2) • V2 apporte: • Authentification et autorisation unifiée entre MSID et AAD • Gestion par scopes (et non resources) de manière dynamique • Client credential flow • On Behalf Flow • Nouveau portail apps.dev.microsoft.com • Limitations V2: • # de secrets • sécurisation d’API • gestion app corpo (uniquement MSID) • pas de wildcard redirect URL • resources disponibles limitées
  • 11. Le modèle de scopes permet une escalade régulière des permissions demandées à l’usager en fonction des fonctionnalités qu’il utilise Resources vs Scopes • Deux façons de donner des permissions granulaires • Les ressources doivent être déclarée d’avance avec l’application et acceptées toutes d’un coup • Les scopes permettent de patronner le service et demander les permissions au fur et à mesure • …/oauth2/authorize? client_id=<id>&resource=https%3A%2F%2Fgraph.windows.net%2F • …/oauth2/v2.0/authorize?client_id=<id> &scope=https%3A%2F%2Fgraph.windows.net%2Fdirectory.read%20https%3A%2F%2Fgraph.windo ws.net%2Fdirectory.write
  • 12. La clef c’est de bien étudier quels scenarios on implémentent et de quels protocoles on aura besoin avant de faire un choix ADAL et MSAL • Deux librairies d’auth par Microsoft pour AAD • ADAL utilise endpoints v1 • MSAL utilise endpoints v2 • MSAL encore en preview mais support commercial
  • 13. Microsoft Graph & SharePoint/OneDrive
  • 14. GROUPS PEOPLE CONVERSATIONS FILES INSIGHTS L’intégration du graph avec SharePoint s’étend peu à peu, le but n’est pas d’avoir une parité complète avec REST/CSOM mais de fournir une API plus simple d’utilisation APIs Listes et Sites en disponibilité générale • Accédez au listes et librairies de document SharePoint • Créez des types de contenus et colonnes personnalisés via le graph • Lisez et écrivez des valeurs personnalisées depuis des application hébergées par SharePoint
  • 15. On peut apercevoir une convergence des modèles entre OneDrive et SharePoint Détails de l’API de listes v1.0/sites/{site-id}/lists/{list-id}/
  • 16. On peut apercevoir une convergence du modèle de groupes/équipes avec le modèle SharePoint Détails de l’API de sites • Retourne les propriétés et relations pour un site d’équipe SharePoint • Différentes « clefs primaires » • Nom d’hôte de la collection de sites • GUID de la collection de sites • GUID du site /groups/{group-id}/sites/root /sites/root
  • 17. API Graph OneDrive • Disponibilité Générale • Meilleure gestion des permissions déléguées • Beta • Historique des versions de fichiers • Fil d’activités intégré (project Rome) • Gestion des liens de partage • Conversion de fichiers en PDF • Génération de miniatures pour les documents • /beta/me/drive/items/{item-id}/thumbnails
  • 18. API OneDrive Insights/Recherche • Nouveaux « insights » • Éléments récents • Partagés avec moi • (plus de détails dans la partie générale) • Recherche avec $filter et $search
  • 19. Accès au Graph depuis SPFX Démonstration
  • 21. L’insight working with a évolué avec le temps et le feedback de la communauté pour fournir plus d’informations People API (beta) • Evolution du insight « workingWith » • Agrégation de: • Azure Active Directory • Contacts (outlook) • Personnes avec qui l’usager communique (courriels, IM) • Personnes avec qui l’usager collabore (SP, OD4B) • … • GET /me/people
  • 22. Le but est de déterminer rapidement quels éléments ont besoin de l’attention de l’usager Mentions API (beta) • Liste les mentions à un usager sur une objet ou un ensemble d’objets • Limité à Outlook (mail) pour le moment • GET /me/messages? select=Subject,Sender,ReceivedDateTime,MentionsPreview
  • 23. A terme le modèle entre groupe et team va converger Groups API (GA) • Les groupes unifiés offrent des APIs eux aussi • GET /v1.0/groups?$filter=groupTypes/any(c:c+eq+'Unified’) • Tous les composants des groups sont addressables avec leurs API: • Drive • Calendrier • Listes • Sites • OneNote • …
  • 24. Microsoft souhaite fournir aux développeurs la possibilité d’intéragir avec le nouveau né Office autrement qu’avec les bots et le modèle d’extensibilité Teams API (beta) • Accès au modèle de teams: • team/group • Channel • Thread • + autres workloads (calendrier, drive, plans…) • POST /groups/{id}/channels/{id}/chatthreads • GET /groups/{id}/channels
  • 26. Il est beaucoup plus facile d’organiser des réunions via le graph en trouvant des plages de disponibilités via ce nouveau endpoint. FindTime (GA) • Permet de trouver une disponibilité commune entre plusieurs usagers • Hautement paramétrable • Périodes de la journée (travail, perso…) • Pourcentage de personnes disponibles pour considérer une option valide • Est-ce que l’organisateur est optionnel (assistant) • Contrainte d’emplacement • Durée de la réunion
  • 27. Beta • Trouver une salle de réunion • Règles de courrier • Catégories • Horaires de travail • Fuseau horaire • En-têtes email • Tâches Outlook • Réponses « Out of office » /me/findRoomLists /me/mailFolders/inbox/messagerules /me/outlook/masterCategories /me/outlook/supportedTimeZones /me/outlook/tasks /me/mailboxSettings/automaticRepliesSetti ng
  • 28. meeting workspace find time Démonstration
  • 30. Microsoft essaie d’améliorer l’expérience de développement autour du Graph $whatif • Simplement ajouter $whatif à la fin d’une requ6ete pour savoir d’où viennent les données • Pratique pour débugger • /me/?$whatif { "Description": "Execute HTTP request", "Uri": "https://graph.windows.net/v2/c03a026e-335e-458c-bad2- 3309fe59663b/users('c9452811-4b6e-4073-b7cf- 3f681f55539b')?$select=businessPhones,displayName,givenName,jobTitle,mail,mobilePhon e,officeLocation,preferredLanguage,surname,userPrincipalName,id", "HttpMethod": "GET" }
  • 31. Microsoft affirme une volonté de fournir plus d’intelligence sur les données personnelles aux développeurs mais cherche encore son chemin Insights déplacés (beta) • /me/trendingAround => /me/insights/trending • /me/workingWith => /me/people • Nouveau /me/insights/used • Documents utilisés récemment par l’usager • Nouveau /me/insights/shared • Documents partagés avec moi (email ou modern attachement)
  • 32. Même s’il n’est pas encore possible d’ajouter des types d’entités ou de nouveaux edges (relations) Microsoft travaille activement à fournir un modèle complet d’extensibilité Open Extensions et Schema Extensions (GA) • Open Extensions • Capacité de déclarer des propriétés ad-hoc sur des objets • Sorte de « property bag » du graph • Schema extensions • Ajouts au schéma des types d’entités • Un peu comme des « colonnes personnalisées » pour le graph • Possibilité de filtrage sur ces données via $filter • POST /schemaExtensions
  • 33. Il est maintenant aisé de bâtir des applications de synchronisation de données et/ou qui réagissent à des changements grâce au Graph WebHooks & Delta API (GA) • Delta API • Lister les changements depuis la dernière requête • Première requête retourne aussi un change token et next url • Requête sur cette next url retourne uniquement ce qui a changé depuis • Répéter l’opération • /me/drive/root/delta • WebHooks • Dérivé du pub-sub design pattern, basé sur des standards web • Permet de s’aboner à des changements de données/évènements • Souscriptions doivent être renouvelées tous les 3 jours • Sorte de « (remote) event receiver » asynchrones pour le web
  • 34. Application API (beta) • Capacité d’ajouter/modifier des applications AAD • Dernière pierre manquante au déploiement entièrement automatisé • GET /applications
  • 36. Azure Functions & Microsoft Graph
  • 37. Le but de Microsoft est de simplifier la vie aux « citizen developers » pour leur permettre de bâtir des solutions robustes en peu de temps et d’effort Microsoft Graph + Azure Functions • Bénéfices du « serverless » • Accès aux données du Graph • Sécurité de haut niveau et prête à l’emploi • Basé sur App Services
  • 38. BRK3202 – Business processes with Microsoft Graph + Azure Functions BRK2234 – Modern API development in a serverless world with Azure Functions Nouvelle « liaison » pour les fonctions • Directement au Graph • Utilise le SDK du graph • Gère l’auth et l’authZ pour vous Azure Function interroge le Microsoft Graph Web hook Déclanche la fonction Microsoft Graph
  • 39. Cette solution technique permet de bâtir des API robustes et sécurisées rapidement et sans efforts. Ces API’s peuvent ensuite être utilisées dans une infinité de scenarios. Exemple bâtir une api de calendrier Page web interroge la fonction {} La fonction retourne une liste JSON des évènements au client Azure Fonction interroge le Microsoft Graph Microsoft Graph
  • 40. Fonction d’appel du graph Démonstration
  • 42. Même s’il a fallu plus de temps que prévu aux équipes planner pour livrer une API, elle est finalement là et permet une interaction complète avec les données de planner. Planner APIs (GA) • Suppression des API dépréciées de beta • GA v1 des nouvelles API • GET /groups/<id>/planner/plans • GET /planner/plans/<id>/buckets • GET /planner/buckets/<id>/tasks • GET /planner/tasks/<id>
  • 43. Enormes ajouts d’API’s au Graph pour supporter la gestion des flottes de périphériques, d’application, la distribution de la configuration, enregistrement AAD… Intune (beta) • Solution de gestion des applications et périphériques de l’entreprise • GET /deviceAppManagement/mobileApps • POST /deviceManagement/termsAndConditions • POST /deviceManagement/windowsAutopilotDeploymentProfiles • GET /deviceAppManagement/windowsManagementApp/healthStates/ • …
  • 44. Continuité des actions au travers des périphériques Project Rome (beta)
  • 45. Imaginez que votre solution de gestion des notes de frais puisse permettre à l’usager de prendre des photos sur mobile et compléter les informations sur pc en lui offrant une expérience sans accroc… Project Rome – détails techniques • Plateforme de services OS • SDK • Endpoints dans le graph • GET me/devices • POST me/devices/{id}/commands • PUT /me/activities/{appActivityId}
  • 46. Surtout utile pour les fournisseurs de noms de domaines, grandes entreprises qui veulent automatiser la gestion ou pour des scenarios DevOps. Le but annoncé et de faciliter la configuration d’Office 365, peut importe d’où vient votre domaine. API de domaines (beta) • API’s permettant d’associer/valider/vérifier un nom de domaine • GET https://graph.microsoft.com/beta/domains/contoso.com
  • 47. C’est le moment de se dire aurevoir Conclusion
  • 48. Conclusion • Microsoft investit lourdement dans le Graph • C’est un point central de la stratégie des prochaines années • Une mine d’or pour vos applications • Temps de développement écourté • Meilleures applications pour les usagers • Economies et/ou gains de productivité pour la compagnie
  • 49. Bit.ly/vincentbiret @baywet slideshare.net/VincentBIRET Merci! Questions? Github.com/onedrive => sample

Notes de l'éditeur

  1. Opportunité immense pour les développeurs que vous soyez ISV, consultants ou chez le client final pour fournir des applications innovantes et enrichies. N’ajoute aucun coût à la souscription Office 365. Pas uniquement des données mais aussi une certaine forme d’intelligence
  2. Enormément de contenu à couvrir en un an de mises à jour. Nous n’aurons sûrement pas le temps de tout couvrir en une session d’une heure. On va se concentrer sur le principal.
  3. Gestion des questions, interaction, ok avec ce programme?
  4. Client credential flow: le service peut s’identifier tout seul sans impersonification (compte de service) On behalf flow: une app dans un context donné peut relayer son authentification via une API de confiance pour représenter l’app dans excel avec l’usager et pas seulement l’usager On behalf flow va aider énormément pour les office add-ins à accèder à des API custom https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-limitations https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-compare https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-protocols-oauth-service-to-service https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-protocols-oauth-on-behalf-of https://myignite.microsoft.com/sessions/55110?source=sessions
  5. https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/list_get
  6. https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/site_get
  7. https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/item_list_thumbnails https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/driveitem_get_content_format
  8. https://docs.microsoft.com/en-us/sharepoint/dev/spfx/call-microsoft-graph-using-graphhttpclient
  9. https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_list_people
  10. https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/mention
  11. https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/group
  12. https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/teams_api_overview
  13. https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/user_findmeetingtimes
  14. https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_findrooms https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/mailfolder_list_messagerules https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/outlookuser_list_mastercategories https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_get_mailboxsettings https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/outlooktask
  15. https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/insights_list_trending https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/insights_list_used https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/insights_list_shared https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_list_people
  16. https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/schemaextension https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/opentypeextension
  17. https://developer.microsoft.com/en-us/graph/docs/concepts/delta_query_overview https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/webhooks
  18. https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/application
  19. https://msdn.microsoft.com/en-us/office/office365/howto/query-Office-graph-using-gql-with-search-rest-api
  20. https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-microsoft-graph
  21. S’éloigne un peu du sujet d’origine mais à suivre sérieusement pour permettre une meilleure efficacité des services TI de l’entreprise. Imaginez des scenario tels qu’enregistrement des périphériques BYOD pour distribution de la configuration de l’entreprise, des applications, mise en conformité au niveau de la sécurité et le tout en self service pour l’usager… https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/intune_graph_overview
  22. À gauche Microsoft app launcher sous android qui me propose de continuer mon travail sur PC, à droite une image expliquant le concept, la remplaçant, une capture d’écran de windows timeline qui permettra d’afficher à l’usager tout ce qu’il a effectué récemment et potentiellement laissé interrompu.
  23. https://developer.microsoft.com/en-us/windows/project-rome https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/project_rome_overview
  24. https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/domain