在PHP中使用PowerBI Embedded

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

我是Power BI嵌入式的新手,已经完成了几个教程,但我可以得到的是将它嵌入C#的教程,但我是一个php开发人员而且不知道C#。

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

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

php azure powerbi-embedded
2个回答
2
投票

您需要采取以下步骤:

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

现在你应该有一个工作区id。

  1. 从Power BI Desktop将.pbix文件导入工作区。这是also achieved using the REST API。不要忘记将datasetDisplayName参数添加到URL,即:将数据和文件POST到 https://api.powerbi.com/v1.0/collections/{collectionName}/workspaces/{workspaceId}/imports?datasetDisplayName={somename}

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

  1. 创建一个嵌入式令牌。这是一个JSON Web令牌(JWT)。你可以使用php-jwt。 JWT声称PBIe所需的有效载荷列为here。请注意,您只需将有效负载和Access密钥传递给php-jwt。
  2. 使用该令牌,您最终可以使用PowerBI Javascript将报表嵌入到您的应用程序中。如果您愿意,您可以从dist目录中复制powerbi.js文件。您需要创建一个配置对象described here 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);

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


0
投票

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

以下是步骤:

  1. 打开您需要嵌入的报告
  2. 单击左上角的“文件菜单”
  3. 单击“发布到Web”
  4. 点击嵌入代码
  5. 单击“发布”
  6. 选择html代码并将其放在Web应用程序中
© www.soinside.com 2019 - 2024. All rights reserved.