reactjs - 如何调用 Power BI Embedded API
问题描述
我正在调查 Power BI Embedded 的使用情况,尽管我无法获得工作版本。
我已经在power bi online中生成了一个虚拟报告,并且我设法发布了该报告,然后在一个简单的 HTML 页面中成功地显示了该报告。但是,我现在想通过 REST API 与相同的报告集成。
我无法使其正常工作,因为我不确定如何获取 API 的访问令牌。下面的屏幕截图显示了我到目前为止的代码(使用 React)。
“操场”屏幕截图显示了我在门户中可见的虚拟报告。为了使这成为可能,我添加了“嵌入 URL”值,然后单击“运行”
Javascript 代码片段
import React, { Component } from 'react';
import { Report } from 'react-powerbi-client';
class App extends Component {
constructor(props) {
super(props);
this.state = {
embedUrl: 'https://app.powerbi.com/view?r=xxx'
};
}
render() {
return (
<div>
...
<Report
id={this.state.id}
embedUrl={this.state.embedUrl}
accessToken={this.state.accessToken}
filterPaneEnabled={true}
navContentPaneEnabled={false}
onEmbedded={this.onEmbedded}
/>
</div>
);
}
}
export default App;
请注意 react-powerbi-client 库代码需要访问令牌值 - 不确定我从哪里得到它?
谢谢,
解决方案
为了嵌入 Power BI 报表,您需要生成访问令牌。要生成访问令牌,您需要注册 Azure AD 应用程序。您可以参考此文档来注册 AAD 应用程序。
注册 AAD 应用程序后,您可以使用 MSAL 生成访问令牌。另外,您可以参考这个GitHub 存储库(由 Microsoft 提供)并按照 README 文件中提供的步骤进行操作。
当你在 React 中嵌入 Power BI 报告时,这个 repo 肯定会对你有所帮助。
推荐阅读
- python - 在 Python 中使用 BeautifulSoup 显示网站上缺失的标签
- go - Cgo 未定义引用
- javascript - npm build run 命令最后给出错误
- docker - 通过 Nginx 反向代理发布容器应用
- docker - 使用不同 docker-compose 配置构建的容器之间的可见性
- python - 在 Neo4j 中将参数作为 dict 传递给 tx.run
- sql - 查找重复行的 SQL 查询
- python - 我可以使用 python cv2 生成 Chome 支持的视频吗?
- python - 将组信息添加到数据框
- javascript - 为什么 woocommerce 会阻止结帐页面上的结帐按钮?