FineBI如何在web页面中嵌入式集成
1. API嵌入集成
1.1 描述
FineBI是基于B/S架构的浏览器/服务器模式,现在用户开发的系统基本上趋向于B/S架构的浏览器/服务器模式,因此有些页面完全可以直接采用web页面嵌入式集成的简易方式完成集成。而且些因为框架的原因可以采用json的调用方式进行集成。通过集成,用户从自己的系统通过链节使用浏览器访问FineBI的服务器,从而在自己系统内调用BI的web页面,来实际嵌入式集成。这种集成通常会有两种方式:一种是直接使用URL链节,另一种方式是通过js的调用json来获得分析模板。下面先提供各部分的URL链接接口、json格式的API
1.2 API插件
FineBI的各种接口开放是以插件的形式来实现的,同时通过插件来实现跨域的集成。因此在集成前,要在FineBI的系统中,安装API插件。下载好后,在BI管理系统的插件管理中,选择本地安装即可。安装完成,重起BI服务器即可。
2. 公共API
2.1 登录API
登录的API接口为?op=api&cmd=bi_login&bi_username=name&bi_password=password&callback=myfunction
其中bi_username=name与bi_password=password中“name”、“password”是用户名与密码,在浏览器上以此API可以返回值为“Login success”如下图:
注:当前的URL是由“布署路径”+“接口”;其中“布署路径”通常为http://localhost:端口号/工程名/ReportServer,“接口”为 ?op=fr_bi&cmd=bi_init&id=9&createby=-999#
以下均相同,不再赘述。
2.2 模板分析
(1)URL界面
单个模板分析通常会被集成到门户网站上,集成模板析的API可以直接使用URL使用iframe框架来集成。其URL可以直接在浏览器的控制台来查找。下面简介一下,控制台查找方式。按F12打开控制台,使用选择器,放在右上角点击,可以跳到该界面的框架;如图:
从该框架向上找就可以找到URL,其iframe的src值即是该URL
(2)参数格式
其API是?op=fr_bi&cmd=bi_init&id=模板id&createBy=创建者id。
2.3 新建分析
新建分析的API?op=api&cmd=add_report&reportName=NewReport
其中repoartName为参数,NewReport为新建分析的名子。在浏览器上以此API访问,返回值为“reportId”
2.4 我创建的
(1)界面
我创建的是指当前用户创建的所有即时分析都会显示在我创建的列表中,URL链接API接口如下:
?op=api&cmd=get_page_created_by_me,其效果如下:
(2)JSON返回值
我创建的API?op=fr_bi&cmd=get_folder_report_list在浏览器上返回当前登录用户的我创建的模板分析的详细信息(包括文件夹和模板),其中还包括该模板的分享信息。
3. 仅非管理员API
3.1 分享模板
分享模板的是指其他用户将即时分析分享给当前用户。
注:分享模板这个功能只有非管理才能有,因此只有在非管理员的界面才会有。
3.2 分享给我的
分享给我的是非管理员特有的,是非管理员之间分享模板后,将分享模板放置的文件目录。其API接口?op=api&cmd=get_shared_to_me_reports,通过该API可以获得得当前用户的所有分享模板的信息。
3.3 已分享模板
当然某张模板被分享给不同的人,也可以通过API来获得。该API为?op=api&cmd=get_shared_users_by_report&createdBy=模板创建者ID&reportId=模板ID,通过该API可以获得,该ID的模板被分享给哪些人。其中参数为:createByID和reportid。
注:其中模板ID与创建人ID可以通过当前人我创建的API获得。
4. 仅管理员可用API
4.1 所有模板
在管理员界面,管理员可以通过“所有模板”来管理整个平台所有用户设计的模板分析。
4.1.1界面
界面的API为?op=api&cmd=get_page_all_reports效果如下图:
4.1.2 JSON
JSON的格式的API为?op=api&cmd=get_all_template_4_admin,其返回值为所有模板信息。
4.2 所有用户信息
在集成的时候,用户想要获取所有的用户、部门职位、角色等信息时,可以通过该API接口返回json值来获取。该API
?op=api&cmd=get_all_reports_data,如下图:
4.3 报表管理目录
除了可以通过输入模板id返回模板信息外,我们还可以通过接口?op=fs_main&cmd=module_getrootreports&id=-1获取到报表管理目录的url。
4.4 数据配置界面
数据配置是BI数据管理的核心界面,即是业务包的管理界面,当前我们的业务包管理界面可以直接通过URL来集成进来。
其API为?op=fr_bi_configure&cmd=init_configure_pane,效果如下图:
4.5 全局更新
Cube全局更新,顾名思义,是指Cube中的数据全部都更新一遍,包括所有业务包中的所有的表和字段?op=api&cmd=update_cube,以便于直接集成到自己的系统中进行全局更新操作。其返回值结果为:function({"result":"global cube updated success!"});
注:在url后面加上&bi_username=用户名&bi_password=密码,可实现在非登录情况下全局更新。
4.6 单表更新
单表更新,顾名思义,就是说cube更新时,单独将其中某一张表进行更新,其他表不更新。除了在“单表更新设置”中进行更新外,FineBI还开了相应的接口
?op=api&cmd=update_cube&packageName=业务包名字&tableName=转义名
以便于直接集成到自己的系统中进行单表更新操作。URL访问地址如下:
注:(1)单纯只有packageName时,则是对当前业务包中所有表进行更新。
(2)在url后面加上&bi_username=用户名&bi_password=密码,可实现在非登录情况下单表更新。
(3)这里的单表更新是默认做的全量的更新,不做增量更新。
4.7 单个模板的详情
管理员可以通过单个模板的模板ID与创建人的ID可以获得当前模板的详细信息。其API为?op=api&cmd=get_template_by_ids&ids=[{reportId: 1, createBy: -999}]。
5. 总结
1、FineBI操作细分的四个部分:创建业务包、新建分析、我创建的和分享给我的中,一般来说,只有创建业务包才是管理员操作,其他的三项是非管理员操作,故,在使用API进行集成的时候要注意创建业务包API链接节点只能对管理员可见,如果对其他用户可见,那么,该用户登录系统之后,点击节点,不会有任何反应,如果一定要给其他用户以创建业务包的权限,首先需要将配置BI数据源的权限给该用户。
2、上述所有接口中的${servletURL}表示http://localhost:端口号/工程名/ReportServer,如果用户系统跟FineBI在同一系统中,可以使用FR.ServletURL获取,如果FineBI也是用户系统,那么可以直接使用${servletURL},否则,需要写绝对路径。
本文摘自ITEYE:http://teacherzhang.iteye.com/blog/2378686
FineBI如何在web页面中嵌入式集成的更多相关文章
- [译]如何在Web开发中使用Python
[译]如何在Web开发中使用Python 原文:HOWTO Use Python in the Web 摘要 这篇文档展示了Python如何融入到web中.它介绍了几种Python结合web服务器的方 ...
- 如何在Web页面里使用高拍仪扫描上传图像
如何在Web页面里使用高拍仪扫描上传图像 市场上所有的高拍仪都支持扫描图片并保存到本地,一般公司都会提供控件.开发人员只需要在页面集成就可以进行拍照和扫描.只不过一般扫描的图片是保存在本地固定的文件夹 ...
- 关于在asp.net的web页面中的全局变量问题
在asp.net的web页面中是不是没有全局变量?有的,在Class类内部的都是,只不过在WebWofm程式中跟WinForm和Console程式有些区别,当页面刷新时,它们的值不会保持,依然会再次初 ...
- [置顶] 读取pdf并且在web页面中显示
读取pdf并且在web页面中显示 if (System.IO.File.Exists(f)) { Response.ContentType = "applicationpdf"; ...
- php中调用这个功能可以在web页面中显示hello world这个经典单词
php程序写的时间长了,自然对他所提供的功能了如指掌,他所提供的一大堆功能,真是觉得很好用,但有时候会发现php也缺少一些功能,自己总是会产生为php添加一些自定义的功能的想法.久而久之,终于今天憋不 ...
- Spring 如何在 WEB 应用中使用
1. Spring 如何在 WEB 应用中使用 ? 1). 需要额外加入的 jar 包: spring-web-4.0.0.RELEASE.jar spring-webmvc-4.0.0.RELEAS ...
- web页面中可以包含多个对象
# encoding=utf-8 #python 2.7.10 #xiaodeng #web页面中可以包含多个对象 #HTTP权威指南 10页 #应用程序完成一项任务时通常会发布多个http事务.如: ...
- 如何在PHP页面中原样输出HTML代码(是该找本php的数来看了)
如何在PHP页面中原样输出HTML代码(是该找本php的数来看了) 一.总结 一句话总结:字符串与HTML之间的相互转换主要应用htmlentities()函数来完成. 1.php中的html标签如何 ...
- 企业级监控软件Zabbix搭建部署之zabbix在WEB页面中的配置
企业级监控软件zabbix搭建部署之zabbix在WEB页面中的配置 企业级监控软件zabbix搭建部署之zabbix在WEB页面中的配置 关于安装请看 http://www.linuxidc.com ...
随机推荐
- python——爬虫&问题解决&思考(三)
继续上一篇文章的内容,上一篇文章中,将爬虫调度器已经写好了,调度器是整个爬虫程序的"大脑",也可以称之为指挥中心.而现在,我们要做的就是去将调度器中用到的其他组件写好.首先是url ...
- 【webpack】webpack-dev-server生猛上手——让我们来搭一个webpack的微服务器吧!
[前言]:因为最近在搞百度地图API的时候到了webpack的externals,才发现我之前都只是用webpack做一些搭建完项目后的"收尾工作"--即打包,而没有把它纳入到 ...
- Catalog Service - 解析微软微服务架构eShopOnContainers(三)
上一篇我们说了Identity Service,因为其基于IdentityServer4开发的,所以知识点不是很多,今天我们来看下Catalog Service,今后的讲解都会把不同的.重点的拿出来讲 ...
- node.js 开发环境配置 和使用方式
1.在根目录创建一个文件夹 里面 放入js 编写完成后使用 cmd 进行编译就可以了2.expree 安装 卸载: npm uninstall -g express 安装指定版本: npm i ...
- 深度解析 H.265 视频解决方案
又拍云上线了 H.265 从编码解码到 CDN 分发,完整的端到端的自适应解决方案:提供视频上传.视频存储.视频编码.视频分发适配.视频解码等功能.又拍云希望能以云服务的方式将大公司才能长期支付使用的 ...
- JavaScript设计模式_02_策略模式
在程序设计中,我们常常遇到这种情况,要实现某一个功能我们有很多种算法可以实现.这些算法灵活多样,而且可以随意互相替换.这种解决方案就是所谓的策略模式. /* * pre:策略模式 * 示例:公司计算奖 ...
- [Leetcode] Binary search, Divide and conquer--240. Search a 2D Matrix II
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...
- Spring 依赖注入之从不会到稍微会一点儿
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Dojo初探之1:AMD规范,编写符合AMD规范(异步模块加载机制)的模块化JS(其中dojo采用1.11.2版本)
一.AMD规范探索 1.AMD规范(即异步模块加载机制) 我们在接触js的时候,一般都是通过各种function来定义一些方法,让它们帮我们做一些事情,一个js可以包含很多个js,而这些functio ...
- mac sourcetree启用外部合并工具(beyond compare)
设置步骤及遇到的问题: 一.在sourcetree中设置diff为外部工具. 1.步骤:打开sourcetree偏好设置的diff菜单. 2.问题:发现sourcetree偏好中的"外部代码 ...