Microsoft Graph Mark Stafford, Graph PM • Microsoft Graph, what and why
• 5 steps to your first Graph app
• App patterns
• 5 tips and tricks to become a Graph coder
• What’s new and roadmap Office 365 Your tailored Windows 10 experiences or customizations Enterprise Mobility + Security 1 billion 1 million 100 billion users across work, monthly active apps Microsoft Graph life and edu using Microsoft Identity requests per month
Your tailored experiences or customizations
18 trillion 90% 180 million Microsoft Graph nodes Fortune 500 monthly active users of Office 365 commercial Extend Microsoft 365 experiences Build your experience
Web Bots & Device Daemon Workflow Documents Conversations Portals Timeline Search Analytics apps agents & native apps automation apps
Microsoft Graph REST APIs and webhooks
Your local data Microsoft Graph Azure AI platform Microsoft Graph Connectors Office 365 Windows 10 Enterprise Mobility + Security data connect
Microsoft Identity Apps Web Native Bots Flows Automation Analytics
Auth
UX
Libraries
Capabilities
Microsoft Graph Microsoft Graph Connectors Interfaces REST APIs and Webhooks Data Connect
Data Microsoft 365 Your domain Apps Web Native Bots Flows Automation Analytics
Auth
UX
Libraries
Capabilities
Microsoft Graph Microsoft Graph Connectors Interfaces REST APIs and Webhooks Data Connect
Data Microsoft 365 Your domain Apps Web Native Bots Flows Automation Analytics
Auth
UX
Libraries
Capabilities
Microsoft Graph Microsoft Graph Connectors Interfaces REST APIs and Webhooks Data Connect
Data Microsoft 365 Your domain your
https://graph.microsoft.com
Office 365 Windows 10 Enterprise Mobility + Security
Users, Groups, Organizations Activities Azure AD Outlook Device Relay Intune SharePoint Commands Identity Manager OneDrive Advanced Threat Analytics Notifications Teams Advanced Threat Protection Planner Excel Dynamics 365 OneNote Business Central
Mail, Calendar, Channels, Messages Identity Management Administrative Units Alerts
Contacts and Tasks Tasks and Plans Access Control Applications and Devices Policies
Sites and Lists Spreadsheets Synchronization Advanced Threat Analytics and more…
Drives and Files Notes, and more… Domains Advanced Threat Protection 5 simple steps
https://aka.ms/ge
5 simple steps
https://aka.ms/ge
Example Scheduling app for Lost luggage helper New flight crew Flight crew analysis flight crew provisioning Auth Interactive user Device code App only App only Challenge Offline sync Limited real estate Throttling Security and privacy Decision Middle tier or no Bot or not How to get changes Where to unify data Ingredients Microsoft Graph Adaptive cards Azure Functions Microsoft Graph data toolkit bindings connect 5 tips and tricks
TIP 4 | Webhooks Delta query
Scenario Tips Why Same scenarios as before, Use webhook notifications as the Difficult to figure out optimal but if you need to trigger to make delta query calls polling interval optimize further… Put notifications in a queue for later processing Application https://graph.microsoft.com/v1.0
/{resource}/delta?$select=id,displayName
{“@odata.nextLink”:”https://graph.Microsoft.com/v1.0/{resource}/delta?$skipToken=ABC”, “value”:[{“id”:”1”,”displayName”:”foo”}, {“id”:”2”,”displayName”:”bar”}]}
https://graph.Microsoft.com/v1.0/{resource}/delta?$skipToken=ABC
{“@odata.deltaLink”:”https://graph.Microsoft.com/v1.0/{resource}/delta?$deltaToken=DEF”, “value”:[{“id”:”3”,”displayName”:”baz”}]}
https://graph.Microsoft.com/v1.0/{resource}/delta?$deltaToken=DEF
{“@odata.deltaLink”:”https://graph.Microsoft.com/v1.0/{resource}/delta?$deltaToken=XYZ”, “value”:[{“id”:”1”,”displayName”:”My data was updated”}]} TIP 5 |
Use least privilege!
Be thoughtful when configuring your app! Delegated Permissions Application Permissions
App type Mobile, Web and SPA Service and Daemon
Scenario Get access on behalf of users Get access as a service
Who can Users can consent Admin can consent Only admin consent for self for self or all users can consent
Permissions Effective Permissions App User’s granted to + granted to Permissions Permissions App User App
https://aka.ms/ConsentAndPermissions
Data sets
Generally Available ( /v1.0 ) Preview ( /beta )
Office 365 Office 365 Exchange (get schedule) Exchange (MIME messages, MIME item attachments, raw file SharePoint (get item analytics) attachments) Teams APIs SharePoint (security events webhooks) OneDrive (follow/unfollow documents, expiring links in EMS permissions API) Security (secure score) Teams (1:1 chat messages, shifts management) AAD (audit and sign in logs, identity providers, groups Connectors private preview naming policy, group based licensing APIs, nested membership expansion on groups, export personal data) EMS Security (Logic App/Flow/Power Apps connectors, Power BI Microsoft Graph data connect connector, Jupyter Notebooks, threat indicators, security actions) AAD (application sign-in reports, custom sign-up and sign-in policies in Azure AD B2C, risky user and history)
Dynamics Business Central (Financials) DevX Tooling
Generally Available Preview
SDK Releases Updated SDKs for Beta API .NET – Version 1.15 .NET Java – Version 1.3 Android Support PHP Java – Version 1.X lightweight core library (*new*) Typescript JavaScript – Version 1.6.0 Objective C – Version 1.0 (*new*) New SDK Features (across languages) Microsoft Graph Authentication Providers for MSAL New SDK Features (across languages) Retry and Redirect Support Microsoft Graph Toolkit Download decompression support Page iterator Task Postman collections Large File Upload Task Client Factory Docs Embedded try experience (coming soon) Docs SDK Getting started docs Code snippets in reference documentation (.NET, Java)
SDKs and Toolkit are all OSS on https://github.com/microsoftgraph
Extend Microsoft 365 experiences Build your experience
Web Bots & Device Daemon Workflow Documents Conversations Portals Timeline Search Analytics apps agents & native apps automation apps
Microsoft Graph REST APIs and webhooks
Your local data Microsoft Graph Azure AI platform Microsoft Graph Connectors Office 365 Windows 10 Enterprise Mobility + Security data connect
Microsoft Identity https://aka.ms/o365devprogram Office 365 Your tailored Windows 10 experiences or customizations Enterprise Mobility + Security
https://graph.microsoft.com Thank you! https://aka.ms/graph https://aka.ms/o365devprogram