Skip to content

Commit c4a1e0e

Browse files
authored
Merge pull request MicrosoftDocs#274 from MicrosoftDocs/graph-support-update
Graph support update
2 parents 8d58c77 + 8b7a7f4 commit c4a1e0e

File tree

4 files changed

+47
-1
lines changed

4 files changed

+47
-1
lines changed

powerquery-docs/Connectors/ODataFeed.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,6 @@ To load data from an OData Feed in Power Query Online:
6969

7070
If you have multiple tables that have a direct relationship to one or more of the already selected tables, you can select the **Select Related Tables** button. When you do, all tables that have a direct relationship to one or more of the already selected tables will be imported as well.
7171

72+
## Connecting to Microsoft Graph
7273

74+
Connecting to [Microsoft Graph](https://docs.microsoft.com/graph/overview) REST [APIs](https://graph.microsoft.com) from Power Query isn't recommended or supported. See this [article](../connecting-to-graph.md) for more information.

powerquery-docs/Connectors/Web/web-troubleshoot.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ LocalizationGroup: reference
1111

1212
# Troubleshooting the Web connector
1313

14+
## Connecting to Microsoft Graph
15+
16+
Connecting to [Microsoft Graph](https://docs.microsoft.com/graph/overview) REST [APIs](https://graph.microsoft.com) from Power Query isn't recommended or supported. See this [article](../../connecting-to-graph.md) for more information.
17+
1418
## Using a gateway with the Web connector
1519

1620
Every use of the Web connector to get data from an HTML page requires the use of an on-premises data gateway when published to a Cloud service, whether it's Power BI Service for datasets or dataflows, or Power Apps for dataflows. (Currently, Dynamics 365 Customer Insights doesn't support the use of a gateway.) <!-- The only exception is when using Power BI Desktop with the **New web table inference** option turned on, and then publishing that report to the Power BI service. The **New web table inference** option can be enabled or disabled in Power BI Desktop by going to **File** > **Options and settings** > **Options** > **Preview features**. The option is enabled by default. -->

powerquery-docs/TOC.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
- name: "Authentication with a data source"
1212
href: ConnectorAuthentication.md
1313
- name: "SharePoint and OneDrive for Business files import"
14-
href: sharepoint-onedrive-files.md
14+
href: sharepoint-onedrive-files.md
15+
- name: "Lack of support connecting to Microsoft Graph"
16+
href: connecting-to-graph.md
1517
- name: Transform data
1618
items:
1719
- name: "Use Power Query"
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: Lack of Support for Microsoft Graph in Power Query
3+
description: This article describes Power Query's lack of support for connecting to Microsoft Graph
4+
author: mattmasson
5+
ms.service: powerquery
6+
ms.reviewer: kvivek
7+
ms.date: 02/23/2021
8+
ms.author: mmasson
9+
10+
---
11+
12+
# Lack of Support for Microsoft Graph in Power Query
13+
14+
## Summary
15+
16+
Connecting to [Microsoft Graph](https://docs.microsoft.com/graph/overview) REST [APIs](https://graph.microsoft.com) from Power Query isn't recommended or supported. Instead, we recommend users explore alternative solutions for retrieving analytics data based on Graph, such as [Microsoft Graph data connect](https://docs.microsoft.com/graph/overview#access-microsoft-graph-data-at-scale-using-microsoft-graph-data-connect).
17+
18+
Users may find they can make certain REST calls to Microsoft Graph API endpoints work through the `Web.Contents` or `OData.Feed` functions, but these approaches are not reliable as long-term solutions.
19+
20+
This article outlines the issues associated with Microsoft Graph connectivity from Power Query and explain why it isn't recommended.
21+
22+
### Authentication
23+
24+
The built-in Organizational Account authentication flow for Power Query’s `Web.Contents` and `OData.Feed` functions isn't compatible with most Graph endpoints. Specifically, Power Query’s Azure Active Directory (Azure AD) client requests the `user_impersonation` scope, which isn't compatible with Graph’s security model. Graph uses a rich set of permissions that aren't available through our generic Web and OData connectors.
25+
26+
Implementing your own Azure AD credential retrieval flows directly from your query, or using hardcoded or embedded credentials, also isn't recommended for security reasons.
27+
28+
### OData Libraries’ Incompatibility
29+
30+
Certain Graph endpoints and extensions to Graph may require the use of OData libraries and features that aren't supported by Power Query’s built-in `OData.Feed` function because Graph and Power Query may be using two different versions of OData libraries. These issues generally result in errors retrieving the service’s $metadata document. Users may discover common guidance related to passing the `Implementation = "2.0"` option to the `OData.Feed` function call to ensure the latest supported OData libraries are used. While this approach does resolve certain OData incompatibilities, users may still encounter errors over time as Graph and Power Query adopt new versions of the OData libraries at different times.
31+
32+
### Performance
33+
34+
The Microsoft Graph API is designed to support many application scenarios but is suboptimal for the large-scale data retrieval required for most analytics scenarios. Users trying to retrieve large amounts of data from Graph APIs may encounter performance issues. Details around scenario applicability can be found in the Graph documentation.
35+
36+
## Using a Custom Connector
37+
38+
Some Power Query users have enabled Graph connectivity through custom connectors, limiting their functionality to certain parts of the Graph API. This approach allows connector developers to resolve general authentication issues by defining their own Azure AD client with Graph specific permissions. Some custom connectors work around OData challenges by using `Web.Contents` and simulating OData support within their connector logic. However, this approach isn't recommended as users frequently hit the performance and scalability issues described above. Developers who take this route should continue with these limitations in mind.

0 commit comments

Comments
 (0)