从个人工作区嵌入本地应用程序中的 PowerBI 报表

问题描述 投票:0回答:1

我在 PowerBI(免费版本)中创建了一个包含模拟数据的报告,我想将其嵌入到本地反应应用程序中以进行测试,但由于某种原因我无法使其工作。

我的主要问题是我找不到获取有效访问令牌的方法。

首先,我尝试从控制台获取个人访问令牌(

ctrl shift c
-> 控制台 -> 运行
powerBIAccessToken
),但不幸的是嵌入未加载。

然后我尝试通过 public API 获取它,但是当我使用组 id 和报告 id 时,我收到错误

Calling group APIs not permitted for personal workspace

这是我的

app.js
代码

import logo from './logo.svg';
import './App.css';
import { PowerBIEmbed } from 'powerbi-client-react';
import { models } from 'powerbi-client';

function App() {
    return (
        <div className="App">
            <header className="App-header">
                <img src={logo} className="App-logo" alt="logo" />
                <PowerBIEmbed
                    embedConfig={{
                        type: 'report',   // Supported types: report, dashboard, tile, visual and qna
                        id: process.env.REPORT_ID,
                        embedUrl: process.env.EMBED_URL,
                        accessToken: process.env.ACCESS_TOKEN,
                        tokenType: models.TokenType.Aad,
                        settings: {
                            panes: {
                                filters: {
                                    expanded: false,
                                    visible: true
                                }
                            },
                        }
                    }}

                    eventHandlers={
                        new Map([
                            ['loaded', function () { console.log('Report loaded'); }],
                            ['rendered', function () { console.log('Report rendered'); }],
                            ['error', function (event) { console.log(event.detail); }]
                        ])
                    }

                    cssClassName={"Embed-container"}

                    getEmbeddedComponent={(embeddedReport) => {
                        window.report = embeddedReport;
                    }}
                />
            </header>
        </div>
    );
}

export default App;
reactjs powerbi access-token powerbi-embedded
1个回答
0
投票

即使我们使用

copy(powerBIAccessToken)
从控制台获取 accessToken(其类型为
TokenType.Aad
),嵌入也应该可以工作。

如果您想使用 REST API 生成 EmbedToken,请使用此 生成令牌 REST API,其类型为

TokenType.Embed

如果要查看嵌入式报表,该报表应托管在具有高级容量的 Power BI 工作区中。请参阅此MSFT 文档了解更多信息

© www.soinside.com 2019 - 2024. All rights reserved.