使用Power BI Rest API嵌入非组工作区报告

3

我想将Power BI非组工作区报告嵌入我的应用程序中,即我创建或与我共享但未发布到任何工作区的报告。我查阅了有关嵌入报告的文章,但没有找到符合我的情况。

为了嵌入报告,我们需要嵌入令牌,因此我正在使用以下URL向Power BI Rest API发送POST请求:

https://api.powerbi.com/v1.0/myorg/reports/{reportId}/GenerateToken

使用上述请求,我得到了响应代码403和错误{"error":{"code":"InvalidRequest","message":"Embedding isn't supported for non-group workspace"}}
是否有办法为没有任何工作区的报告或仪表板生成嵌入式令牌?
1个回答

2
我遇到了同样的问题。不过似乎你需要将报告放入工作区中,可以手动操作或通过克隆实现。
暴露一个无法生成报告令牌的端点很奇怪,但文档确切地说:

此功能仅在工作区上下文中可用。使用 Reports GenerateTokenInGroup。

注意: 关于克隆,虽然文档没有明确说明,但似乎如果您克隆到不同的工作区(请求中的targetWorkspaceId),您还需要提供目标数据集(请求中的targetModelId)。 如果您没有数据集可用,可以使用导出的替代方法来导出报告,然后导入它,这将创建一个数据集。

我无法将报告克隆到指定的工作区。我在POST消息正文中传递了2个字段(名称和targetWorkspaceId)。它给我返回了400错误代码。@Riaan Crause - Harshvardhan Chittora
@HarshvardhanChittora 我之前也遇到了同样的问题。虽然文档没有明确说明,但似乎如果您在请求中包含targetWorkspaceId,则还需要提供targetModelId。如果您的目标工作区中没有数据集,我发现您可以执行以下操作:
  1. 导出 报表
  2. 导入 报表(这将创建一个数据集)。 我会用这个信息更新我的答案。
- Riaan Crause
这并不像看起来那么简单。为了进行导出,我需要创建一个具有一些权限集的单独组,并导出和导入报告/仪表板,然后需要删除已创建的组,因为它将不再需要。你找到了其他实现相同目的的替代方法吗?@Riaan Crause - Harshvardhan Chittora
@HarshvardhanChittora,恐怕我还没有找到其他的替代方法,但如果我碰巧找到了一个,我会与您分享。 - Riaan Crause

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接