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报表组件中进行渲染
最终效果:(有问题可以给我留言)
PowerBI(一) : 如何将powerBI报表嵌入内部web应用程序?的更多相关文章
- 5.把报表集成到Web应用程序中-生成网页和导出两种方式
转自:https://wenku.baidu.com/view/104156f9770bf78a65295462.html 第四部分,把报表集成到Web应用程序中 用MyEclipse新建一个Web ...
- 如何把Power BI嵌入到Web应用中
(此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:这篇其实不是一个操作向导了,主要对Power BI的嵌入特性进行探讨. Power BI ...
- PowerBI更新 - 解决方案架构 - PowerBI Solution Architecture(一图胜万字!)
2019/04更新 参见这里 今天发福利啦!发福利啦!发福利啦! 企业的各种数据整合到PowerBI显示,浏览器,移动端显示关键指标. 一个很好的PowerBI解决方案的图!一图胜万字!你所需要知道的 ...
- 报表嵌入到.net系统页面
目录: 1. 问题描述 2. 情形一:报表整体嵌入在.net系统框架中 3. 情形二:报表嵌入.net系统的某个页面中 4.权限控制方式 5.嵌入问题解决 1. 问题描述编辑 报表部署到Web应用服务 ...
- 如何把Qlik Sense嵌入到Web应用中
(此文章同时发表在本人微信公众号"dotNET开发经验谈",欢迎右边二维码来关注.) 题记:这是一个给初学者(尤其对VS不熟悉的BI工程师)的入门操作向导. Qlik Sense是 ...
- C#WinForm窗体内Panel容器中嵌入子窗体、程序主窗体设计例子
C#WinForm父级窗体内Panel容器中嵌入子窗体.程序主窗体设计例子 在项目开发中经常遇到父级窗体嵌入子窗体所以写了一个例子程序,顺便大概划分了下界面模块和配色,不足之处还望指点 主窗体窗体采用 ...
- 葡萄城报表介绍:Web 报表
Web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和 HTTP 的.全球性的.动态交互的.跨平台的分布式图形信息系统.Web 报表是以 Web 作为信息展示平台,可以 ...
- 海康威视 嵌入到web页面相关问题
因项目上面需求,接触到了海康威视的设备,要把他嵌入到web页面中,所以就开始了爬坑之路 刚开始不知道如何把设备的页面嵌入到项目的web页面中,直到我遇见了他——“WEB3.0控件开发包V1.0.9_C ...
- 使用 php 内部web服务器
使用 php 内部web服务器如网站目录 d:\web\index.php1.打开命令窗口,输入下列3条命令cd d:cd d:\web\index.phpphp -S localhost:80802 ...
- 第一个嵌入汇编的C程序
最近两天开始学习linux内核,看了赵炯博士的<linux内核完全注释>感觉受益匪浅.今天看到第三章 嵌入汇编部分,于是写了一个小程序试验了一下,用gcc编译通过.代码如下: #inclu ...
随机推荐
- java输入一个字符串,要求将该字符串中出现的英文字母, * 按照顺序输出,区分大小写,且大写优先
public static void main(String[] args) { String input ="A8r4c5jaAjp#7"; //转为char[] char[] ...
- logrotate 切割Tomcat的catalina.out文件
使用logrotate进行切割. 在/etc/logrotate.d下,新建tomcatrotate,编辑tomatrotate,写入如下内容: /usr/local/tomcat/logs ...
- GFF2GTF.py2
import sys inFile = open(sys.argv[1],'r') for line in inFile: #skip comment lines that start with th ...
- python之自动化连连看脚本-第一关不动-小记
(如想转载,请联系博主或贴上本博地址) 仅供学习python之用,勿用做商业用途.运行环境为1920*1080屏幕,python3.7,win7,谷歌浏览器版本 75.0.3770.100. 参考ht ...
- 03-Spring使用注解方式注入
基于注解的DI注入 1.导包 环境搭建:导入aop包(spring-aop-4.1.6.RELEASE.jar) 2.创建类 3. 创建spring.xml配置文件(必须在src目录下) 该配置文件与 ...
- github相关操作
github里面有很多大神写的代码,但是有不少小伙伴对使用它比较的生疏,下面我就把它的简单和常规的操作说一下,希望对你查看github有一定的帮助. watch :会持续收到该项目的动态 fork : ...
- Matlab笔记--Matlab基础
Matlab基础 数据类型(共有15种数据类型) 整数 取整函数 浮点数(单精度浮点数和双精度浮点数--默认为双精度浮点数) 复数 数据的显示格式(format确定数据的显示格式): 数据格式经过改变 ...
- 关于两行代码让我时间无限拉长这件事------mainServlet
在再一次尝试实现增删改查的功能时,出现了一些BUG,修改功能一直实现不了,查了好久的资料,这才发现问题 如上图所示,这个Servlet里面定义的方法,虽然很短,但是重要的很奥,改了好久都没注意到这个问 ...
- Hello, YOU -- 通过简单的 hello_test.go 程序理解并学会编写测试
Hello, YOU 书接上文上篇文章中,我们尝试编写了hello word 函数以及第一个测试 hello_test package main import "fmt" func ...
- 【ASP.NET Core】在node.js上托管Blazor WebAssembly应用
由于 Blazor-WebAssembly 是在浏览器中运行的,通常不需要执行服务器代码,只要有个"窝"能托管并提供相关文件的下载即可.所以,当你有一个现成的 Blazor was ...