In this article we will discuss basics about Microsoft Graph and we will have series of articles in more details.
In One of the previous article “Office 365 – Microsoft Graph and Graph Explorer” we have discussed basics about Microsoft Graph and Graph Explorer. Since then also lots of changes happening, lots of support came like Graph APIs for Microsoft Teams, using MS Graph APIs in SPFX component, unifies access to services in M365 suite and so. So, thought to again write series of articles and exploring more detailed in Microsoft Graph concepts, use cases and examples.
Note: I would say those who really want to go in depth of Microsoft Graph, please go through all the articles in this series, put your comments, ask questions. For Office 365 / SharePoint online developers, Microsoft Graph is the future.
- Microsoft Graph unifies access to the services in M365 suite.
- M365 is defined by Microsoft as “A complete, intelligent solution, including Office 365, Windows 10, and Enterprise Mobility + Security, that empowers everyone to be creative and work together, securely.”
- We can fetch data using single public endpoint – https://graph.microsoft.com either using simple REST calls or with an SDK available on just about any platform
- For following services to fetch the data Microsoft Graph provides REST APIs and SDKs
- Office 365 services accessible through Microsoft Graph (till Nov 2018) – SharePoint, OneDrive, Outlook / Exchange, Microsoft Teams, OneNote, Planner, Excel, Azure AD
- Azure AD
- Enterprise Mobility and Security services: Identity Manager, Intune, Advanced Threat Analytics, and Advanced Threat Protection.
- Windows 10 services: activities and devices
Figure 1: Office 365 – Microsoft Graph – Accessing different Microsoft services
Before Microsoft Graph, we have bit challenges while fetching data across these different Microsoft services:
- Each service had their own REST points
- Discovering these different endpoints
- We need to authenticate each endpoint separately
- We need to manage different permissions
- We need to manage different data formats which is returned by respective end point
Why Should Office 365 / SharePoint Online developer understand Microsoft Graph:
- Covers APIs across multiple services – Office 365, Azure AD, Enterprise Mobility and Security, Windows 10
- Single endpoint for all the above Microsoft services
- Single access token for authentication to multiple services
- Managing permissions with common permission model
- Microsoft Graph supports multiple languages and platforms either through REST APIs or SDK available such as:
- ASP.NET MVC
- Java Script
Figure 2:Office 365 – Microsoft Graph – Various languages and platform support
Microsoft Graph Developer stack:
Figure 3:Office 365 – Microsoft Graph – Developer Stack
- From the above figure, at the bottom there are various data sources available
- Using Microsoft Graph APIs, we can fetch data from all these data sources using single endpoint call to https://graph.microsoft.com
- In order to access Microsoft Graph API, we need OAuth 2.0 access token – we will cover this in detail in coming articles
- Microsoft Graph
- Get started with Microsoft Graph
- Major services and features in Microsoft Graph.
- Graph Explorer
- Microsoft Graph GitHub
Thanks for reading 🙂
Keep reading, share your thoughts, experiences. Feel free to contact us to discuss more.
If you have any suggestion / feedback / doubt, you are most welcome. Stay tuned on Knowledge-Junction, will come up with more such articles