2. Sjoukje Zaal
B: http://www.sjoukjezaal.com
L: https://www.linkedin.com/in/sjoukjezaal
T: https://twitter.com/sjoukjezaal
Microsoft Architect
&
Lead Productivity
@Ordina
Azure Development Community
blogs.msdn.microsoft.com/azuredev/
3. Agenda
• What is the Microsoft Graph?
• Authenticating your application
• Get started with the Microsoft Graph
8. Office 365 Data & More
Users Groups Outlook Calendar SharePointExcel IntuneTeams Azure ADOneNote Planner
Your app
9. Microsoft Graph Versions
v1.0 (GA)
• Azure Active Directory
• Outlook mail, calendar & contacts
• Office 365 groups
• OneDrive drives & files
• Excel
• Planner
• OneNote
• SharePoint Sites
Preview (beta)
• People
• Microsoft Teams
• Insights
• SharePoint lists
• Outlook tasks
• Intune
• Office 365 reporting
• AD Administrative Units
• Project Rome
10. Microsoft Graph Capabilities
v1.0 (GA)
• Webhooks for OneDrive and Outlook
• Delta query for OneDrive Azure AD &
Outlook
• SDKs for .Net/Xamarin, Android,
JS/Node and PHP
• Extensions
Preview (beta)
• SDKs for iOS, Python & Ruby
• Hybrid on-premise support for Outlook
• Webhooks for users and groups
• Webhooks for Outlook consumers
(outlook.com)
• Batching
13. For enterprise accounts: Work & School accounts
Authentication
• Microsoft Graph uses Azure Active Directory
• OAuth 2.0 & OpenID Connect
• v1 Endpoint & v2 Endpoint
And personal accounts: Outlook.com
14. Benefits of Azure AD
• SSO with on premise AD, Office 365, Outlook.com and more
• Conditional Access
• Identity Protection
• SDK of choice supporting OAuth 2.0 or OpenID Connect standards
• High availability, high performance and high scale
15. Key Improvements v1 versus v2
• scope instead of resource parameter for interop
• Dynamic instead of static consent
• id_token claims updated to OpenID Connect Standard
• Single app registration for native and web applications
De Microsoft Graph is dus al deze informatie bij elkaar in 1 REST API met 1 Endpoint.
1. In de basis geeft de Microsoft Graph informatie over de user. Wie de gebruiker is, van welke groepen de gebruiker lid is, welke contacten de gebruiker heeft, wie de manager is, met welke mensen die samenwerkt, etc.
2. Daarnaast geeft de Microsoft Graph informatie over Content en activiteiten. De documenten, devices, Bestanden, Taken, afspraken die binnen de verschillende Azure onderdelen leven.
3. Daar horen ook de gesprekken bij, b.v. emails in Outlook of chats in Microsoft Teams of Skype.
4. En als laatste Insights Wat doen mensen met de verschillende Azure onderdelen, met wie worden er documenten gedeeld, Wat zijn trending documenten.
Dit kan je dan onderverdelen in 2 verschillende gebieden. 1 is data. En 2 is capabilities ofwel mogelijkheden die er zijn met die data.
Data vn uit Office 365
Zoals…..
Data kan ook uit Persoonlijke accounts komen, zoal Xbox Live, Outlook.com
Andere Azure onderdelen,zoals Azure AD en Intune
Hier worden er steeds meer aan toegevoegd.
Alle losse APIS onderbrengen in de Microsoft Graph + extra onderdelen toevoegen
V 1.0 + Beta
Azure Active Directory Zit er al vanaf begin in. Microsoft raadt aan om de de Graph te gebruiken ipv de Azure AD Graph API.
Planner Pas toegevoegd, Projectmanagement tool
OneNotePas toegevoegd
SharePoint Sites Eenvoudiger om sites op te halen. Geen url meer meegeven
People Verbanden tussen de verschillende Azure onderdelen
Project Rome Cross-Device Experience platform. Verschillende devices en platformen laten communiceren.
Mogelijkheden
Notificaties Azure AD Notificatie workflow welkomstemail.
Batching meerdere request in 1 call.
Call van applicatie met app id naar Azure AD
Krijgt Accesstoken terug met rechten van gebruiker
In geval van ingelogde gebruiker refreshtoken
Dit token naar Microsoft Graph
Dus met dit ene token kan je alle data ophalen binnen de verschillende Microsoft Services.
Conditional Access MFA of afdwingen dat er een pincode met minimal 6 cijfers.
Identity Protection Machine learning voor analyzeren alle requests in Azure AD, hacks detecteren en info geven aan admins over de te nemen stappen.
Id token claims Er is nu een Prefered Username claim ipv UPN.
http://graph.microsoft.com Hier vind je alle documentatie, code voorbeelden en informatie om te beginnen met de Microsoft Graph.
Goto Quick Start Kies het platform
http://graph.microsoft.com Hier vind je alle documentatie, code voorbeelden en informatie om te beginnen met de Microsoft Graph.
Goto Quick Start Kies het platform waarvoor je je applicatie wil gaan bouwen.
Graph Explorer:
1.
Hier kan je allerlei queries uittesten.
Pas vernieuwd Er zitten nu een aantal voorbeeld queries in die je kan gebruiken. Persoonlijk vind ik dat erg handig.
Kan met testaccount of je kan inloggen met je Microsoft account voor realtime queries.
Aantal voorbeelden Laten zien.
2.
Je kan aanvinken welke voorbeeld queries je wil toevoegen aan het overzicht. Met de voorbeelden is het alleen niet mogelijk om het beta endpoint aan te reopen. Hiervoor zal je in moeten loggen met je eigen account.
3.
Of Inloggen en dan gegevens uit je eigen account ophalen.
Calling the Endpoint
Graph is een REST Endpoint, dus je maakt altijd gebruik van HTTP verbs.
Daarachter geef je aan welke versie het is
Daarna de resource waaruit je de gegevens wilt gaan halen.
Je geeft het ID mee. Als je informatie van de gebruiker wilt, dan vul je hier “me” in, als je informatie over een andere gebruiker wilt hebben, dan doe je dit op basis van het User ID in Azure AD of de UPN.
Dan een property: b.v. alle events van de ingelogde gebruiker
Dan evt. Query Parameters. Gebaseerd op ODATA, dus die queries kunnen gebruikt worden.
Ik zal een paar voorbeelden laten zien waarin ik de Graph Explorer gebruik.
Je kan aanvinken welke voorbeeld queries je wil toevoegen aan het overzicht.
Met de voorbeelden is het alleen niet mogelijk om het beta endpoint aan te reopen. Hiervoor zal je in moeten loggen met je eigen account.
Of Inloggen en dan gegevens uit je eigen account ophalen.
Daarnaast kan je naast het request op het linkje klikken om de documentatie te bekijken.
Voor POSt requests OneNote erbij pakken
Request aanmaken Payload voor het aanmaken wordt zichtbaar.
Vul gegevens in.
Login and Accept the permissions you’ve added using the Connected Services Wizard.
Login and Accept the permissions you’ve added using the Connected Services Wizard.