php - 在 PHP 中使用嵌入的 PowerBI

标签 php azure powerbi-embedded

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

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

我现在如何使用这些 token ?

最佳答案

您需要采取一些步骤:

  1. 在 Azure 中创建工作区集合并获取访问 key (我知道您已完成此操作)
  2. 使用 REST API 创建工作区- 对于 PHP,您可能会使用 CURL 来实现此目的。不要忘记使用访问键之一添加授权 header 并按照描述使用 POST here 。请注意,您不需要实际发布任何内容,只需使用 POST 方法,否则您只会获得包含现有工作区的 JSON。 发布 https://api.powerbi.com/v1.0/collections/mypbiapp/workspaces 授权:AppKey {yourAccessKey}

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

  • 将 .pbix 文件从 Power BI Desktop 导入到工作区。这是also achieved using the REST API不要忘记在 URL 中添加 datasetDisplayName 参数,即:将数据和文件发布到 https://api.powerbi.com/v1.0/collections/{collectionName}/workspaces/{workspaceId}/imports?datasetDisplayName={somename}
  • 现在您应该有一个报告 ID。

  • 创建嵌入 token 。这是一个 JSON Web token (JWT)。您可以使用php-jwt为了这。 JWT 声称 PBIe 所需的有效负载已列出 here 。请注意,您只需将有效负载和访问 key 传递给 php-jwt。
  • 有了该 token ,您最终可以使用 PowerBI Javascript 将报告嵌入到您的应用程序中。如果您愿意,您可以从 dist 目录复制 powerbi.js 文件。您需要创建一个配置对象为 described here var 嵌入配置 = { 类型:'报告', accessToken: {your-jwt-token-string}, id:{您的报告ID字符串}, embedUrl: 'https://embedded.powerbi.com/appTokenReportEmbed' }; var $reportContainer = $('#reportContainer');//一些div var report = powerbi.embed($reportContainer.get(0), embedConfiguration);
  • 现在您的应用中应该有一份报告。

    关于php - 在 PHP 中使用嵌入的 PowerBI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39770804/

    相关文章:

    vba - 使用 Visual basic 的 Azure 网站 - Html 页面

    azure - Azure AD 和 Power 中的访问 token 范围问题

    PowerBI 创建用于访问数据集的嵌入 token 不应具有有效身份

    java - 尝试插入 json 数组时出现数据插入错误?

    php - 想要降级 phpMyAdmin,但不知道什么版本

    php - GetText 0 复数形式

    powerbi - 电源BI : Query parameters in an embed request

    PHP 搜索然后插入

    Azure 应用服务接受所有域名

    Node.js Express Web App 在本地主机中工作,但在发布到 Azure 时无法工作