Power Query 中的 Microsoft Graph 缺乏支援
連線 至不建議或支持來自 Power Query 的 Microsoft Graph REST API。 相反地,我們建議使用者探索替代解決方案,以根據 Graph 擷取分析數據,例如 Microsoft Graph 資料連線。
您可能會發現您可以透過 或 OData.Feed
函式對 Microsoft Graph API 端點Web.Contents
進行特定 REST 呼叫,但這些方法不可靠,因為長期解決方案。
本文概述 Power Query 中與 Microsoft Graph 連線相關的問題,並說明為何不建議這麼做。
Power Query 和OData.Feed
函式的Web.Contents
內建組織帳戶驗證流程與大部分 Graph 端點不相容。 具體而言,Power Query 的 Microsoft Entra ID 用戶端會要求 user_impersonation
範圍,這與 Graph 的安全性模型不相容。 Graph 使用一組豐富的許可權,這些許可權無法透過我們的一般 Web 和 OData 連接器取得。
基於安全性考慮,實作您自己的 Microsoft Entra ID 認證擷取流程,或是使用硬式編碼或內嵌認證,也不建議這麼做。
Graph 的某些圖形端點和延伸模組可能需要使用 Power Query 內建 OData.Feed
函式不支援的 OData 連結庫和功能,因為 Graph 和 Power Query 可能會使用兩個不同的 OData 連結庫版本。 這些問題通常會導致擷取服務 $metadata
的文件時發生錯誤。 您可能會發現將 選項傳遞 Implementation = "2.0"
至 OData.Feed
函式呼叫的相關常見指引,以確保使用最新的支援的 OData 連結庫。 雖然此方法確實解決了某些 OData 不相容問題,但當 Graph 和 Power Query 在不同時間採用新版本的 OData 連結庫時,您仍然可能會發生錯誤。
Microsoft Graph API 的設計訴求是支援許多應用程式案例,但對於大部分分析案例所需的大規模數據擷取而言則不理想。 如果您嘗試從 Graph API 擷取大量數據,可能會遇到效能問題。 如需案例適用性的詳細數據,請參閱 Graph 檔。
某些 Power Query 使用者已透過自訂連接器啟用 Graph 連線能力,使其功能限制為圖形 API 的某些部分。 此方法可讓連接器開發人員透過使用 Graph 特定許可權來定義自己的 Microsoft Entra ID 用戶端,來解決一般驗證問題。 某些自定義連接器會使用 Web.Contents
和模擬其連接器邏輯內的 OData 支援,來解決 OData 挑戰。 不過,不建議使用此方法,因為用戶經常遇到上述的效能和延展性問題。 採用此路由的開發人員應該繼續考慮這些限制。