• PowerBI(一) : 如何将powerBI报表嵌入内部web应用程序?


    最近做了一个PowerBI报表嵌入内部web应用系统的项目,分享一下主要步骤以及踩坑记录。

    微软官网完整教程这里:https://learn.microsoft.com/zh-cn/power-bi/developer/embedded/embedded-analytics-power-bi

    以下是我自己总结的主要步骤(仅供大家参考):

    1. 你要付费买一个powerBI的账号。

    2. 用这个powerBI账号登录 Azure 门户

    3. 在Azure 门户里选择 “应用注册” ,如果没有,就全局搜索一下。

    4. 注册的时候需要特别注意一个地方,“账户类型” ,简单说,如果你希望web端用户每次进去都需要自己的powerBI账号登录查看报表,那就选择“仅此组织目录”。如果希望web端用户不需要登录即可查看报表,那就选择“任何组织目录”,就是选第一个和第二个的区别。

     

    官方的说法是叫 “为组织嵌入内容” 和 “为客户嵌入内容”,区别就是登录不登录的问题。当然,对于这俩个类型,官方github给出的代码示例也不一样,比如你选择为“为客户嵌入内容” 官方不提供react版本代码。但其实自己也可以实现。

    5. 在Azure 上 “应用注册” 好后,需要给这个应用赋予一定的访问权限,比如powerBI api的权限。

    6.  在Azure 上 “应用注册” 好后,权限也设置完成后,需要复制这个应用的clientId、秘钥、租户ID等信息,给web端使用。

    7.  PowerBI客户端建立报表,发布报表,这个步骤相信会PowerBI的不用多说了。

    8. PowerBI客户端报表完成后,需要去设置里面开启允许 应用访问 API。

    9. 开始开发嵌入报表的web系统,我这边采用的是C# web api技术提供报表的后台服务,前端采用react + antd 技术。当然,你可以可以根据自己公司的技术要求,比如Java、python都可以。

    主要的代码逻辑为:

    • 复制Azure 上注册的 “应用” clientID 和秘钥去请求微软OAuth2身份验证接口,拿到 "访问token"
    • 用这个"访问token" 去 请求powerBI的接口,获取“嵌入token"
    • 把“嵌入token" 传到前端的powerBI报表组件中进行渲染

      最终效果:(有问题可以给我留言)

     

  • 相关阅读:
    动态近场通信标签:如何使用C++与微控制器进行NFC交互的完整指南
    Python3 集合
    apt 阿里源
    用DIV+CSS技术设计的明星个人网站制作(基于HTML+CSS+JavaScript制作明星彭于晏网页)
    【JavaWeb】案例一:用户注册
    第23篇 基于Qt实现PID温度加热控制系统
    Leetcode DAY14: 递归遍历 and 迭代遍历 and 统一迭代
    阿里云大数据实战记录1:不同模式建表及同步
    【kafka】九、kafka消费者分区分配策略
    Centos部署openGauss6.0创新版本,丝滑的体验
  • 原文地址:https://www.cnblogs.com/0110x/p/17348891.html