gpt4 book ai didi

java - Power BI 嵌入式 : Get Report details API responds with 400 Bad request

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:10 25 4
gpt4 key购买 nike

总结:我正在将 Power BI 报告嵌入 ISV 应用程序,当我尝试调用 api 端点以获取报告的嵌入详细信息时,它会以 400 Bad Request 响应。我在不使用 SDK 的情况下直接调用 Power BI API,因为微软尚未正式发布基于 Java 的应用程序的 PowerBI SDK。此外,为了调试,我使用了另一个 .net 应用程序,它使用 PowerBI SDK 对相同的工作区进行相同的 API 调用,并且它可以正常工作。

所有其他 API 端点,如“列出所有工作区”、“获取工作区详细信息”、“列出工作区中的所有仪表板”,甚至“列出工作区中的所有报告”都按要求响应,没有问题,但此处列出的 API 端点:

Power BI get report embedding details using 'workspace_id' and 'report_id'

使用看似正确的凭证和请求以 400 Bad request 响应。

接口(interface)应用上下文:

  1. ISV 应用程序基于 Spring boot 框架(Java)和 Angular 2 框架构建。
  2. 目前,我找不到用于基于 Java 的应用程序的官方 Microsoft Power BI SDK,因此我直接引用来自 Power BI API reference doc 的 API。
  3. ISV 应用程序拥有访问此处列出的 API 的所有必要权限: https://learn.microsoft.com/en-us/power-bi/developer/power-bi-permissions
  4. 应用程序能够为应用程序中使用的所有其他 api 端点生成 token 、发出经过身份验证的请求并从 power bi 获得响应。

问题和调试

调试:

  1. 这是 PowerBI .NET SDK 发出的请求,它针对获取报告 API 工作:

获取 https://api.powerbi.com/v1.0/myorg/groups/d864b33b-74dd-4683-9cfd-91c712039147/reports/d618f04d-0b9d-483b-8f9c-cb1210d14595 HTTP/1.1

授权:Bearer auth-token

用户代理:FxVersion/4.7.2117.0 Windows_7_Enterprise/6.1.7601 Microsoft.PowerBI.Api.V2.PowerBIClient/2.0.2.17225

主机:api.powerbi.com

  1. 这是我的应用程序直接引用返回 400 的 API 端点的请求:

获取 https://api.powerbi.com/v1.0/myorg/groups/d864b33b-74dd-4683-9cfd-91c712039147/reports/d618f04d-0b9d-483b-8f9c-cb1210d14595 HTTP/1.1

缓存控制:无缓存

Postman-Token: some-token

授权:Bearer auth-token

用户代理:PostmanRuntime/7.1.1

接受:/

主机:api.powerbi.com

最佳答案

这是由于 Accept HTTP header 。 Microsoft 的 REST 方法不支持它。尝试:

curl -XGET 
"https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports/{reportId}" -i -H
"Authorization: Bearer {token}" -H "Accept:"

-H "Accept:" 将禁用此 HTTP header 。 (默认情况下,curl 发送 Accept: */*)

关于java - Power BI 嵌入式 : Get Report details API responds with 400 Bad request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47799183/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com