1

我是 Power BI Embedded 的新手,并且已经阅读了几个教程,但我能得到的只是将它嵌入 C# 的教程,但我是一名 php 开发人员,对 C# 一无所知。

我已经创建了我的 Power BI 报告并通过在我的 Azure 门户中注册新的 Power BI 来生成令牌。

我现在如何使用这些令牌?

4

2 回答 2

3

您需要采取一些步骤:

  1. 在 Azure 中创建一个工作区集合并获取访问密钥(我知道你已经完成了这个)
  2. 使用REST API创建工作区- 对于 PHP,您可能会为此使用 CURL。不要忘记使用其中一个访问密钥添加 Authorization 标头并按照此处所述使用 POST 。请注意,您实际上不需要发布任何内容,只需使用 POST 方法,否则您只会获得包含现有工作区的 JSON。 POST https://api.powerbi.com/v1.0/collections/mypbiapp/workspaces Authorization: AppKey {yourAccessKey}

现在您应该有一个工作区 ID。

  1. 将 .pbix 文件从 Power BI Desktop 导入工作区。这也可以使用 REST API 来实现不要忘记将 datasetDisplayName 参数添加到 URL,即:将数据和文件发布到 https://api.powerbi.com/v1.0/collections/{collectionName}/workspaces/{workspaceId}/imports?datasetDisplayName={somename}

现在你应该有一个报告ID。

  1. 创建一个嵌入令牌。这是一个 JSON Web 令牌 (JWT)。您可以为此使用php-jwt此处列出了 PBIe 所需的 JWT 声明负载。请注意,您只需将有效负载和您的访问密钥传递给 php-jwt。
  2. 使用该令牌,您最终可以使用PowerBI Javascript将报告嵌入到您的应用程序中。如果你愿意,你可以从 dist 目录复制 powerbi.js 文件。您需要按照此处所述创建配置对象。 var embedConfiguration = { type: 'report', accessToken: {your-jwt-token-string}, id: {your-report-id-string}, embedUrl: 'https://embedded.powerbi.com/appTokenReportEmbed' }; var $reportContainer = $('#reportContainer'); //some div var report = powerbi.embed($reportContainer.get(0), embedConfiguration);

现在您的应用程序中应该有一个报告。

于 2016-11-04T14:52:33.367 回答
0

您可以使用适用于许多用例的基本 iframe 解决方案。

以下是步骤:

  1. 打开您需要嵌入的报告
  2. 点击左上角的文件菜单
  3. 点击发布到网络
  4. 点击嵌入代码
  5. 点击发布
  6. 选择 html 代码并将其放置在您的 Web 应用程序中
于 2016-09-30T02:45:49.150 回答