powerbi - 使用示例 Node 和 .NET 的未授权 (401) Power BI Embedded
问题描述
在为您的客户应用程序(Node 和 .NET)运行嵌入式示例时,我收到此错误(在控制台中来自/getEmbedToken
)
Status: Unauthorized (401)
Response: {"error":{"code":"PowerBINotAuthorizedException","pbi.error":{"code":"PowerBINotAuthorizedException","parameters":{},"details":[],"exceptionCulprit":1}}}
RequestId: fe5ca8dd-a49e-41b0-8f08-**********
- 我嵌入的报告在 Power BI 服务 (app.powerbi.com) 中可见
我试过了:
- 确保 config.json 和 web.config 具有正确的信息(clientId、reportId、tenantId 等)
- authenticationMode 是 ServicePrincipal,我使用的是全局管理员的凭据(创建数据集、报告的同一用户,拥有所有权限,是应用程序注册所有者等)
- 在应用注册上授予对 Power BI REST API 的所有权限
- 工作区访问已启用
- 我正在使用 Pro 试用版,但尚未使用任何开发者令牌(
"usage": 0
) - 数据集不需要有效身份 (
"isEffectiveIdentityRequired": false
)
有没有人知道还有什么要检查的?
谢谢!
解决方案
我发现了问题。万一这发生在任何人身上,以下是解决方案:
问题出现在第 7 步 -启用工作区访问,其中指出登录到 Power BI 服务 > 要启用的工作区 > 工作区访问 > 访问窗格,> 将服务主体复制到输入电子邮件地址文本框。
因为全局管理员的邮箱已经填好了,所以忽略了输入服务主体的实际需求(“输入邮箱地址”比较混乱)。
服务主体的名称是 Azure AD 应用程序的显示名称,它显示在 Azure AD 应用程序的概述选项卡中。如果您定义了任何安全组,这也可能是一个安全组。
推荐阅读
- javascript - 在此处粘贴 dom 标记以进行缩放
- typescript - Vue 组件中缺少 this 的属性
- angular - “TypeError:control.registerOnChange 不是函数”动态更改归档表单 FormControl 到 FormArray
- node.js - 如何使用 child_process.exec(command[, options][, callback]) 在 Node.js 应用程序中编译带有一些用户输入的 ac 程序
- android - 设置填充是否会更改 Android 或 IOS 上的视图大小?
- spring-boot - Springboot 应用程序只能从 keycloak 获取最多 100 条记录
- mysql - Sequelize 从模型中未指定的列中获取数据
- javascript - Rangy 选择在 Microsoft Edge 上不起作用
- javascript - 使 _children 在数据树中不可选择 - Tabulator React
- memory-leaks - 在 LLVM LLI 解释器上禁用内存异常