故障排除 Power BI REST API 呼叫中的 401 錯誤
你可能需要使用 Fiddler 擷取的記錄,才能進一步調查。 Microsoft Entra ID 中註冊的應用程式可能缺少所需的權限範圍。 請確認 Azure 入口網站中 Microsoft Entra ID 應用程式註冊中是否存在所需的範圍。
服務主體在呼叫管理員 API 時回傳 401
當服務主體呼叫 Power BI 管理員 REST API 時,即使服務主體成功認證並取得權杖,呼叫仍可能回傳 HTTP 401 未授權。 此問題影響直接 REST API 呼叫及 PowerShell 指令集,包括:
-
獲取活動活動 (
GET /admin/activityevents) -
以管理員身份取得群組 (
GET /admin/groups) -
/admin/下的其他端點 - PowerShell 指令檔,例如
Get-PowerBIWorkspace -Scope Organization、Get-PowerBIActivityEvent,以及Invoke-PowerBIRestMethod針對管理員路由
典型的 PowerShell 錯誤如下:
Get-PowerBIWorkspace : Operation returned an invalid status code Unauthorized
在這種情況下,401 回應通常表示租戶或應用程式註冊設定有缺口,而非認證失敗。 依序進行以下檢查:
- 確認相關的租戶設定是否已啟用。 在 Microsoft Fabric 管理入口網站中,請確認管理員 API 已啟用 「允許服務主體使用唯讀 Power BI 管理 API」,或使用者 API 已啟用 「允許服務主體使用 Power BI API」。 這兩個設定是獨立的租戶設定。 如果你只啟用使用者 API 設定,管理員 API 呼叫會因 401 而失敗。 如需詳細資訊,請參閱 為系統管理員 API 啟用服務主體驗證。
- 確認服務主體是否屬於指定範圍的安全性群組。 每個租戶設定都適用於一個或多個 Microsoft Entra 安全群組。 確認服務主體是否屬於設定所參考的安全群組成員。 欲了解更多資訊,請參閱註冊 Microsoft Entra 應用程式。
- 確認 OAuth 代幣使用了正確的資源。 當你請求存取權杖時,資源(受眾)值必須是
https://analysis.windows.net/powerbi/api針對全域雲端。 Power BI 會拒絕為其他資源(例如 Microsoft Graph)發出的 401 代幣。 - 請檢查應用程式的註冊權限。 確認該應用程式註冊是否具備特定管理員 API 所需的應用程式權限,且 Microsoft Entra 管理員是否已授權管理員同意。 不要在同一個應用程式註冊上混用委派和應用程式權限——根據驗證流程使用其中一種。
- 驗證活動事件參數。 當你呼叫 Get Activity Events REST API 時,
startDateTime和endDateTime參數必須是 ISO 8601 UTC 格式——例如。2026-06-30T00:00:00Z格式錯誤的時間戳記可能導致401錯誤。
故障排除 Power BI REST API 呼叫中的 403 錯誤
403 錯誤可能因以下任何原因發生。 你可能需要提供 Fiddler 擷取記錄,以便進一步調查。
- 你超過了共用容量下能產生的嵌入代幣數量。 要產生嵌入代幣,購買 Azure 容量並將工作空間分配到該容量。 請參閱 在 Azure 入口網站中建立 Power BI Embedded 容量。
- Microsoft Entra 授權憑證已過期。
- 被認證的使用者並非群組(工作空間)的成員。
- 被認證的使用者不是群組(工作空間)的管理員。
- 已認證的使用者沒有權限。 透過 refreshUserPermissions API 來更新權限。
- 授權標頭可能沒有正確列出。 確保沒有錯字。
應用程式的後端可能需要在呼叫 GenerateToken 前重新整理授權權杖。 如需詳細資訊,請參閱 刷新存取令牌。
GET https://wabi-us-north-central-redirect.analysis.windows.net/metadata/cluster HTTP/1.1
Host: wabi-us-north-central-redirect.analysis.windows.net
...
Authorization: Bearer eyJ0eXAiOi...
...
HTTP/1.1 403 Forbidden
...
{"error":{"code":"TokenExpired","message":"Access token has expired, resubmit with a new access token"}}
修正使用匯入與匯出 API 時的超時異常
當你發送 Power BI REST API 請求時,可能會送到一個不包含租戶資料的叢集。 在這種情況下,重定向請求可能會因逾時而失敗。
若要修正逾時例外,請重新傳送要求,並將 URL 查詢參數 preferClientRouting 設為 true。 如果你的請求到達錯誤的叢集,Power BI 服務 會回傳一個 307 暫時重定向 HTTP 回應。 在這種情況下,你需要將請求重新導向到回應 HTTPS Location 標頭中指定的新位址。
更新參數或更新資料來源 API 會在幾分鐘後失敗
以下一般錯誤有時會在回應標頭中回傳:
HTTP/1.1 500 Internal Server Error
An error has occurred
當您使用 Datasets - Update Parameters In Group 或 Datasets - Update Datasources In Group API 時,此錯誤可能表示您正在更新大型資料集,但該資料集未使用 大型資料集 格式。 使用大型資料集格式以避免錯誤。
相關內容
有其他疑問嗎? 請教Power BI社群