SlideShare a Scribd company logo
1 of 31
Introduction to the Microsoft Graph :
Getting Started Quickly & Getting the
Most Out of It
Vincent Biret
Microsoft
Microsoft Graph SDKs Software developer
Montréal
@baywet
Thank you
Sponsors!!!
#M365Ottawa @SPSOttawa
Introduction to the Microsoft Graph
Microsoft Graph Toolkit
Authentication & authorization
Tips
Conclusion
Agenda
Your gateway to Microsoft 365
Your
app
Gateway
Your data or
your
customer’s
Office 365 Windows 10 Enterprise Mobility and Security
1Microsoft Graph
Personal and organizational accounts
(lucy)
What data is available?
https://graph.microsoft.com
Users, Groups, Organizations
Outlook
SharePoint
OneDrive
Teams
Planner
Excel
OneNote
Activities
Devices relays
Commands
Notifications
Azure AD
Intune
Identity Manager
Advanced Threat Analytics
Advanced Threat Protection
Email, Calendar,
Contacts and Tasks
Sites and Lists
Disks and Files
Channels, Messages
Tasks and Plans
Worksheets
Notes, and more…
Identity management
Access control
Synchronization
Domains
Organizational units
Applications and Devices
Threats analysis
Threats protection
Alerts
Policies
And more…
Office 365 Windows 10 Enterprise mobility and security
Dynamics 365
Finances
Wide and transversal API
SITES
GROUPS
USERSINSIGHTS
CONTACTS
PEOPLE
ORGANIZATION
EMAIL
CONTENT
DOCUMENTS
DEVICES
TEAMS
REPORTS
ME
ADMIN UNITS
ROLES
APPS
SECURITY DATA &
AUTOMATION
ORGANIZATION
USERS
BUSINESS
PARTNER
Basics
• HTTP verbs represent the intent: GET | POST | PATCH | PUT | DELETE
• Version: /v1.0 or /beta
• Resource: /users, /groups, /sites, /drives, /devices, …
• Collection item: /users/john
• Property: /users/john/department
• Linked data via navigation: /users/john/events
• Query parameters: /users/john/events?$top=5
o Format: $select | $orderby
o Filter/Navigate: $filter | $expand
o Pagination: $top | $skip | $skiptoken
/{version} ?{parameters}/{resource}/{id}/{property}
SDKs
Generally Available ( /v1.0 ) Preview ( /beta )
Microsoft Graph Toolkit
Reusable web components bound to Microsoft 365 data
Work with PWA’s, SPFx, Teams Tabs and more
Why use Microsoft Graph Toolkit?
Fully functional
Cut development time,
simplify code, and build
features faster
Beautiful, but flexible
Built to look like an
M365 experience, but
fully customizable
Works everywhere
Based on web
standards and can be
used wherever you use
HTML.
The components
Login Person
Agenda
Person Card
People People Picker
Tasks
Teams Channel Picker
Get
Try them all on the playground at https://mgt.dev!
Basics
access_tokenMSAL
Your APP
Microsoft
Graph
id_token
access_token refresh_token
Microsoft
Identity
Context
Users can consent for their data, admins for the whole tenant Only admins can consent
Delegated
permissions
User’s
privileges
App
permissions
Permission Type: applicationPermission Type: Delegated
Access as a user Access as a service
Effective PermissionsEffective Permissions
Scopes structure
specific: .All,
.Shared, etc
Read,
ReadWrite,
etc.
Target Entity:
files, mail,
groups,
calendars,
etc…
Ex: User.Read Directory.ReadWrite.All
Resource Action Scope
Know your OData!
Sets
$count
$filter
$expand
$orderby
$select
$skip/$skipToken
$top
Search
$search
Values
$ref
$value
$whatif to the rescue
Simply add $whatif at the end of a request to know where the data is coming from
Useful when debugging
/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,mobilePhone,office
Location,preferredLanguage,surname,userPrincipalName,id",
"HttpMethod": "GET"
}
Additional concepts
Batching
Throttling
Change notifications
Change tracking
Schema/Open extensions
Conclusion
Consistent APIs
Think about Auth
Shorter delivery time
Better apps integration
Better user experience
THANK YOU
Feedback form
https://bit.ly/3dcSfSw
https://graph.microsoft.com

More Related Content

What's hot

What's hot (10)

SPUnite17 User Profile Synchronisation with Identity Manager
SPUnite17 User Profile Synchronisation with Identity ManagerSPUnite17 User Profile Synchronisation with Identity Manager
SPUnite17 User Profile Synchronisation with Identity Manager
 
Securing Governing and Protecting Your Office 365 Investments
Securing Governing and Protecting Your Office 365 InvestmentsSecuring Governing and Protecting Your Office 365 Investments
Securing Governing and Protecting Your Office 365 Investments
 
Rits Brown Bag - Salesforce Lightning External Connection
Rits Brown Bag - Salesforce Lightning External ConnectionRits Brown Bag - Salesforce Lightning External Connection
Rits Brown Bag - Salesforce Lightning External Connection
 
What Makes an Ideal Microsoft 365 Intranet​
What Makes an Ideal Microsoft 365 Intranet​What Makes an Ideal Microsoft 365 Intranet​
What Makes an Ideal Microsoft 365 Intranet​
 
Introduction to SharePoint 2010 (Arabic )
Introduction to SharePoint 2010 (Arabic )Introduction to SharePoint 2010 (Arabic )
Introduction to SharePoint 2010 (Arabic )
 
SharePoint
SharePointSharePoint
SharePoint
 
ad.ppt
ad.pptad.ppt
ad.ppt
 
Blockchain for Business
Blockchain for BusinessBlockchain for Business
Blockchain for Business
 
Writing Code To Interact With Enterprise Search
Writing Code To Interact With Enterprise SearchWriting Code To Interact With Enterprise Search
Writing Code To Interact With Enterprise Search
 
Book Widget -- Embedding automated photo-document publication on the web and ...
Book Widget -- Embedding automated photo-document publication on the web and ...Book Widget -- Embedding automated photo-document publication on the web and ...
Book Widget -- Embedding automated photo-document publication on the web and ...
 

Similar to #MSGraph introduction at #M365SaturdayOttawa

Similar to #MSGraph introduction at #M365SaturdayOttawa (20)

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
 
Microsoft Graph: The API for Microsoft 365
Microsoft Graph: The API for Microsoft 365Microsoft Graph: The API for Microsoft 365
Microsoft Graph: The API for Microsoft 365
 
Introduction to graph services
Introduction to graph servicesIntroduction to graph services
Introduction to graph services
 
2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl
2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl
2018-10-18 J2 1D - Dive into the power of the Microsoft Graph - Toni Pohl
 
Azure Functions and Microsoft Graph
Azure Functions and Microsoft GraphAzure Functions and Microsoft Graph
Azure Functions and Microsoft Graph
 
Azure Functions and Microsoft Graph
Azure Functions and Microsoft GraphAzure Functions and Microsoft Graph
Azure Functions and Microsoft Graph
 
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
#SPSToronto The SharePoint Framework and the Microsoft Graph on steroids with...
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champ
 
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
Granite state #spug The #microsoftGraph and #SPFx on steroids with #AzureFunc...
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
 
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
#SPSottawa The SharePoint Framework and The Microsoft Graph on steroids with ...
 
Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018Microsoft Graph community call - April, 2018
Microsoft Graph community call - April, 2018
 
2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...
2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...
2018-10-17 J1 6D - Draw your imagination with Microsoft Graph API - Dipti Chh...
 
Microsoft Graph
Microsoft GraphMicrosoft Graph
Microsoft Graph
 
Microsoft Graph community call May, 2018
Microsoft Graph community call May, 2018Microsoft Graph community call May, 2018
Microsoft Graph community call May, 2018
 
#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph#SPFestSEA Introduction to #MicrosoftGraph
#SPFestSEA Introduction to #MicrosoftGraph
 
Microsoft Graph API - A Single Stop For Your Cloud Solution
Microsoft Graph API - A Single Stop For Your Cloud SolutionMicrosoft Graph API - A Single Stop For Your Cloud Solution
Microsoft Graph API - A Single Stop For Your Cloud Solution
 
Introduction to the Microsoft identity platform for developers
Introduction to the Microsoft identity platform for developersIntroduction to the Microsoft identity platform for developers
Introduction to the Microsoft identity platform for developers
 
Commit University - Microsoft Azure
Commit University - Microsoft AzureCommit University - Microsoft Azure
Commit University - Microsoft Azure
 
Create productive apps with Office 365
Create productive apps with Office 365Create productive apps with Office 365
Create productive apps with Office 365
 

More from Vincent Biret

More from Vincent Biret (20)

#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams#MWCP19 atelier provisionnement #Office365 slides teams
#MWCP19 atelier provisionnement #Office365 slides teams
 
#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
 
#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
 
#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...
 
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
 
#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...
 
#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?#ESPC18 how to migrate to the #SharePoint Framework?
#ESPC18 how to migrate to the #SharePoint Framework?
 

Recently uploaded

Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
Wonjun Hwang
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
Overkill Security
 

Recently uploaded (20)

Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
Observability Concepts EVERY Developer Should Know (DevOpsDays Seattle)
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Navigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi DaparthiNavigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi Daparthi
 
How to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in PakistanHow to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in Pakistan
 

#MSGraph introduction at #M365SaturdayOttawa

  • 1. Introduction to the Microsoft Graph : Getting Started Quickly & Getting the Most Out of It Vincent Biret Microsoft Microsoft Graph SDKs Software developer Montréal @baywet
  • 3. Introduction to the Microsoft Graph Microsoft Graph Toolkit Authentication & authorization Tips Conclusion Agenda
  • 4.
  • 5. Your gateway to Microsoft 365 Your app Gateway Your data or your customer’s Office 365 Windows 10 Enterprise Mobility and Security 1Microsoft Graph
  • 6. Personal and organizational accounts (lucy)
  • 7. What data is available? https://graph.microsoft.com Users, Groups, Organizations Outlook SharePoint OneDrive Teams Planner Excel OneNote Activities Devices relays Commands Notifications Azure AD Intune Identity Manager Advanced Threat Analytics Advanced Threat Protection Email, Calendar, Contacts and Tasks Sites and Lists Disks and Files Channels, Messages Tasks and Plans Worksheets Notes, and more… Identity management Access control Synchronization Domains Organizational units Applications and Devices Threats analysis Threats protection Alerts Policies And more… Office 365 Windows 10 Enterprise mobility and security Dynamics 365 Finances
  • 8. Wide and transversal API SITES GROUPS USERSINSIGHTS CONTACTS PEOPLE ORGANIZATION EMAIL CONTENT DOCUMENTS DEVICES TEAMS REPORTS ME ADMIN UNITS ROLES APPS SECURITY DATA & AUTOMATION ORGANIZATION USERS BUSINESS PARTNER
  • 9. Basics • HTTP verbs represent the intent: GET | POST | PATCH | PUT | DELETE • Version: /v1.0 or /beta • Resource: /users, /groups, /sites, /drives, /devices, … • Collection item: /users/john • Property: /users/john/department • Linked data via navigation: /users/john/events • Query parameters: /users/john/events?$top=5 o Format: $select | $orderby o Filter/Navigate: $filter | $expand o Pagination: $top | $skip | $skiptoken /{version} ?{parameters}/{resource}/{id}/{property}
  • 10. SDKs Generally Available ( /v1.0 ) Preview ( /beta )
  • 11.
  • 12.
  • 13. Microsoft Graph Toolkit Reusable web components bound to Microsoft 365 data Work with PWA’s, SPFx, Teams Tabs and more
  • 14. Why use Microsoft Graph Toolkit? Fully functional Cut development time, simplify code, and build features faster Beautiful, but flexible Built to look like an M365 experience, but fully customizable Works everywhere Based on web standards and can be used wherever you use HTML.
  • 15. The components Login Person Agenda Person Card People People Picker Tasks Teams Channel Picker Get Try them all on the playground at https://mgt.dev!
  • 16.
  • 17.
  • 19. Context Users can consent for their data, admins for the whole tenant Only admins can consent Delegated permissions User’s privileges App permissions Permission Type: applicationPermission Type: Delegated Access as a user Access as a service Effective PermissionsEffective Permissions
  • 20. Scopes structure specific: .All, .Shared, etc Read, ReadWrite, etc. Target Entity: files, mail, groups, calendars, etc… Ex: User.Read Directory.ReadWrite.All Resource Action Scope
  • 21.
  • 22.
  • 24. $whatif to the rescue Simply add $whatif at the end of a request to know where the data is coming from Useful when debugging /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,mobilePhone,office Location,preferredLanguage,surname,userPrincipalName,id", "HttpMethod": "GET" }
  • 26.
  • 27.
  • 28.
  • 29. Conclusion Consistent APIs Think about Auth Shorter delivery time Better apps integration Better user experience

Editor's Notes

  1. Show mgt.dev
  2. https://mgt.dev
  3. https://docs.microsoft.com/en-us/graph/json-batching https://docs.microsoft.com/en-us/graph/throttling https://docs.microsoft.com/en-us/graph/webhooks https://docs.microsoft.com/en-us/graph/delta-query-overview https://docs.microsoft.com/en-us/graph/extensibility-overview