2016-09-29 171 views
1

刚刚接触Power BI的嵌入式系统,已经通过了几个教程,但我所能得到的只是将它嵌入到csharp中的教程,我是一名php开发人员,不知道csharp。 我已经创建了我的Power bi报告,并通过在我的天蓝色门户中注册了一个新的power bi来生成令牌。 我想知道我现在如何使用这些标记使用PowerBI嵌入到PHP

回答

0

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

下面是步骤:

  1. 打开你需要嵌入在左上角
  2. 点击
  3. 单击文件菜单中选择发布到网络
  4. 点击嵌入代码
  5. 单击发布的报告
  6. 选择html代码并将其放入您的web应用程序
0

有一些步骤,你需要采取:

  1. 创建内部Azure中的工作区集合,并获得访问键(我知道你已经完成了这一点)
  2. 使用REST API创建工作区 - 用PHP,你可能会使用CURL。不要忘记添加授权标题与一个访问键,并使用POST描述here。请注意,您不需要实际发布任何内容,只需使用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。请注意,您只需要将有效载荷和您的访问密钥传递给php-jwt。
  2. 使用该令牌,您最终可以使用PowerBI Javascript将报告嵌入到应用程序中。如果您愿意,您可以从dist dir复制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);

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