6. Users Groups Outlook OneNote more…SharePoint IntuneTeams Azure ADPlanner Excel
https://graph.microsoft.com
Your appOne endpoint
One token
All users
Microsoft Graph API
Access user, group and organizational data
7. Calling the API
• HTTP verbs dictate the request intent: GET | POST | PATCH | PUT | DELETE
• Version: /v1.0 or /beta
• Resource: /users, /groups, /sites, /drives, /devices, more…
• Member from collection: /users/AAA
• Property: /users/AAA/department
• Traverse to related resources via navigations: /users/AAA/events
• Query parameters: /users/AAA/events?$top=5
o Format results: $select | $orderby
o Control results: $filter | $expand
o Paging: $top | $skip | $skiptoken
/{version} ?{query-parameters}/{resource}/{id}/{property}
11. Auth
access_token
Register your app at https://apps.dev.microsoft.com
MSAL
YOUR APP
Microsoft
Graph
id_token
access_token refresh_token
Microsoft
Identity
12. App types and permissions
Users can consent for their data or admin can consent for all users Only admin can consent
App
permissions
User
permissions
App
permissions
Permission type: applicationPermission type: delegated
https://developer.microsoft.com/en-us/graph/docs/concepts/permissions_reference
Get access on behalf of users Get access as a service
Effective permissionEffective permission
19. Limitations
• Currently in beta
• Only C# and JavaScript are supported inside the portal
• Bugs
• Cannot subscribe to webhook if not anonymous
• Invalid Graph access token if using Client Credentials auth
21. Resources
• Graph Explorer
www.aka.ms/ge
• Microsoft Graph bindings on Azure Functions documentation site
https://docs.microsoft.com/en-us/azure/azure-functions/functions-
bindings-microsoft-graph
• Announcement on beta release on Azure Functions blog
https://blogs.msdn.microsoft.com/appserviceteam/2017/09/25/my-intern-
project-microsoft-graph-bindings-for-azure-functions/
• Videos
https://youtu.be/Y3cC0Hpemmk
https://youtu.be/UvwQ6IwmcS4
https://youtu.be/noDVDV5sAUk