如何调用Power BI Embedded API

时间:2019-10-16 15:35:36

标签: reactjs powerbi-embedded

我正在研究Power BI Embedded的使用,尽管无法获得可用的版本。

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

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

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

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

谢谢

1 个答案:

答案 0 :(得分:1)

为了嵌入Power BI报告,您需要生成访问令牌。若要生成访问令牌,需要注册一个Azure AD应用程序。您可以参考this document来注册AAD应用。

注册AAD应用后,您可以使用MSAL生成访问令牌。 另外,您可以参考GitHub repository(由Microsoft提供)并遵循README文件中提供的步骤。

当您将Power BI报表嵌入到React中时,此仓库肯定会对您有所帮助。