Manque de prise en charge de Microsoft Graph dans Power Query

Une connexion aux API REST Microsoft Graph à partir de Power Query n’est pas recommandée ou prise en charge. Au lieu de cela, nous recommandons aux utilisateurs d’explorer d’autres solutions pour récupérer des données analytiques basées sur Graph, telles que la Connexion aux données Microsoft Graph.

Vous pourrez peut-être faire fonctionner certains appels REST vers les points de terminaison de l’API Microsoft Graph grâce aux fonctions Web.Contents ou OData.Feed, mais ces approches ne sont pas fiables en tant que solutions à long terme.

Cet article décrit les problèmes associés à la connectivité Microsoft Graph à partir de Power Query et explique pourquoi elle n’est pas recommandée.

Authentification

Le flux d’authentification de compte d’organisation intégré pour les fonctions Web.Contents et OData.Feed de Power Query n’est pas compatible avec la plupart des points de terminaison Graph. Plus précisément, le client Microsoft Entra ID de Power Query demande l’étendue user_impersonation, qui n’est pas compatible avec le modèle de sécurité de Graph. Graph utilise un ensemble complet d’autorisations qui ne sont pas disponibles via nos connecteurs web et OData génériques.

En outre, l’implémentation de vos propres flux de récupération d’identifiants Microsoft Entra ID directement à partir de votre requête ou l’utilisation d’identifiants codés en dur ou incorporés n’est pas recommandée pour des raisons de sécurité.

Incompatibilité des bibliothèques OData

Certains points de terminaison et extensions de Graph peuvent demander l’utilisation de bibliothèques et de fonctionnalités OData qui ne sont pas prises en charge par la fonction OData.Feed intégrée de Power Query, car Graph et Power Query peuvent utiliser deux versions différentes des bibliothèques OData. Ces problèmes provoquent généralement des erreurs lors de la récupération du document $metadata du service. Vous pourriez trouver des conseils généraux concernant le passage de l’option Implementation = "2.0" à l’appel de fonction OData.Feed afin de garantir l’utilisation des dernières bibliothèques OData prises en charge. Cette approche résout certaines incompatibilités OData, mais des erreurs sont toujours possibles au fil du temps lorsque Graph et Power Query adoptent de nouvelles versions des bibliothèques OData à des moments différents.

Performances

L’API Microsoft Graph est conçue pour prendre en charge de nombreux scénarios d’application, mais elle n’est pas optimale pour l’extraction de données à grande échelle requise dans le cadre de la plupart des scénarios d’analytique. Si vous essayez d’extraire de grandes quantités de données à partir des API Graph, vous pouvez rencontrer des problèmes de performances. Vous trouverez des détails sur l’applicabilité du scénario dans la documentation Graph.

Utilisation d’un connecteur personnalisé

Certains utilisateurs Power Query ont activé la connectivité Graph via des connecteurs personnalisés, limitant leurs fonctionnalités à certaines parties de l’API Graph. Cette approche permet aux développeurs de connecteurs de résoudre les problèmes d’authentification généraux en définissant leur propre client Microsoft Entra ID avec des autorisations spécifiques à Graph. Certains connecteurs personnalisés contournent les défis liés à OData en utilisant Web.Contents et en simulant la prise en charge d’OData dans leur logique de connecteur. Toutefois, cette approche n’est pas recommandée, car les utilisateurs rencontrent fréquemment les problèmes de performances et de scalabilité décrits ci-dessus. Les développeurs qui empruntent cette voie doivent garder ces limitations à l’esprit.