首页 > 解决方案 > 如何调用 Power BI Embedded API

问题描述

我正在调查 Power BI Embedded 的使用情况,尽管我无法获得工作版本。

我已经在power bi online中生成了一个虚拟报告,并且我设法发布了该报告,然后在一个简单的 HTML 页面中成功地显示了该报告。但是,我现在想通过 REST API 与相同的报告集成。

我无法使其正常工作,因为我不确定如何获取 API 的访问令牌。下面的屏幕截图显示了我到目前为止的代码(使用 React)。

“操场”屏幕截图显示了我在门户中可见的虚拟报告。为了使这成为可能,我添加了“嵌入 URL”值,然后单击“运行”

图为 power bi online 中的虚拟报告

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 库代码需要访问令牌值 - 不确定我从哪里得到它?

谢谢,

标签: reactjspowerbi-embedded

解决方案


为了嵌入 Power BI 报表,您需要生成访问令牌。要生成访问令牌,您需要注册 Azure AD 应用程序。您可以参考此文档来注册 AAD 应用程序。

注册 AAD 应用程序后,您可以使用 MSAL 生成访问令牌。另外,您可以参考这个GitHub 存储库(由 Microsoft 提供)并按照 README 文件中提供的步骤进行操作。

当你在 React 中嵌入 Power BI 报告时,这个 repo 肯定会对你有所帮助。


推荐阅读