Discovering Microsoft Graph
At a very high level, Microsoft Graph is a REST API that can be used to interact with the data within Microsoft 365, available through a single REST API endpoint and client libraries.
You can use Microsoft Graph to access data on Microsoft 365 core services such as Calendar, Excel, Microsoft Search, OneDrive, Outlook/Exchange, Teams, and more. You also have Enterprise Mobility + Security services such as ME-ID, Advanced Threat Protection, and so on, as well as Windows services, and Dynamics 365 Business Central services.
Microsoft Graph has three main components to help with the access and flow of data:
- The Microsoft Graph API: Accessible using a single endpoint (https://graph.microsoft.com) to interact with people-centric data and insights across the aforementioned services. You can access the endpoint using REST or the available SDKs (which you will do shortly).
- Microsoft Graph connectors: Used to bring data from external sources into Microsoft Graph applications and services to enhance experiences such as Microsoft Search, so that your chosen external data can be displayed alongside Microsoft 365 search results, for example. There are connectors for a lot of the most used data sources, such as Salesforce, Jira, Confluence, and ServiceNow.
- Microsoft Graph Data Connect: Used to access data on Microsoft Graph at scale with granular control over data and consent for admins. While the Graph API can be used to access data in real time, Data Connect can access data on a recurring schedule and operates on a cache of the data in your Azure subscription rather than the data master. The cached data can then be used as a data source for tools that you can use to build intelligent apps. Because Data Connect uses a cache, data protection is extended to that cache.
The Graph API can provide admin consent for the entire organization and specific resource types, whereas Data Connect can provide admin consent for select groups of users, resource types, and resource properties, and exclude users. Data Connect can also scope to many users or groups, whereas the Graph API can scope to a single user or the entire tenant.
Before you start querying, there’s a useful tool you should be aware of for exploring Graph, which allows you to see the information you can get, which permissions are required, and what responses might look like. This tool is aptly named Graph Explorer.