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},否则,需要写绝对路径。

时间: 2024-10-22 16:21:57

FineBI如何在web页面中嵌入式集成的相关文章

如何在Web页面中集成文件上传功能

当前,个人主页制作非常流行.当用户开发好自己的页面时,需要将文件传输到服务器上,解决这个问题的方法之一 是运行FTP服务器并将每个用户的FTP默认目录设为用户的Web主目录,这样用户就能运行FTP客户程序并上传文件到指定的 Web目录.由于Windows NT 和 Windows98均不提供直接的基于窗口形式的FTP客户程序,用户必须懂得如何使用基于命令行 的FTP客户,或掌握一种新的基于窗口形式的FTP客户程序.因此,这种解决方案仅对熟悉FTP且富有经验的用户来说是可行 的. 如果我们能把文件

Spring 如何在 WEB 应用中使用

1. Spring 如何在 WEB 应用中使用 ? 1). 需要额外加入的 jar 包: spring-web-4.0.0.RELEASE.jar spring-webmvc-4.0.0.RELEASE.jar 2). Spring 的配置文件, 没有什么不同 3). 如何创建 IOC 容器 ? ①. 非 WEB 应用在 main 方法中直接创建 ②. 应该在 WEB 应用被服务器加载时就创建 IOC 容器: 在 ServletContextListener#contextInitialized

web页面中可以包含多个对象

# encoding=utf-8 #python 2.7.10 #xiaodeng #web页面中可以包含多个对象 #HTTP权威指南 10页 #应用程序完成一项任务时通常会发布多个http事务.如:web浏览器会发布一系列http事务来获取一个包含了丰富的图片的web页面. #http事务怎么运作呢? 1.执行一个事务来获取描述页面布局的html框架 2.然后发布另外的http事务来获取嵌入的图片.图像.java小程序.这些资源可能在不同的服务器上. 因此: 一个web页面不是单个资源,通常是

web页面中参数的传递方法

在web页面中参数的传递方法多样,主要有以下几种: Viewstate,Querystring,Session, Application,Cookie,Cache. Viewstate: 特点:服务启启动的各种控件的视图状态:包括控件的所有属性值:Enableviewstate可以启用和禁用视图状态:        优点:防止新产生一个页面实例后,丢失前一个页面的状态信息: 例如:在用户登录注册验证过程中,无须使用导致服务器往返行程的代码,我们只需要在客户端进行验证就可以了.另外有些控件的初始化

使用textarea标签按Enter键后web页面中成换行 vue

对于textarea标签的换行问题,其实就是要将textarea里的Enter键替换成web页面中"<br/>". 以下是我的一些方法. 首先我是写一个方法(methods) formatSolution(s) { if (s) { return s.replace(/\s/g,'<br/>') } else return '' }, 然后在到html找到相应的位置. <tbody> <tr v-for="(x,index) in f

php中调用这个功能可以在web页面中显示hello world这个经典单词

php程序写的时间长了,自然对他所提供的功能了如指掌,他所提供的一大堆功能,真是觉得很好用,但有时候会发现php也缺少一些功能,自己总是会产生为php添加一些自定义的功能的想法.久而久之,终于今天憋不住了,开始动手研究如何添加. 下载一个php的源代码包,这里使用的是php 4.0.5版,解压后会看到php的根目录下会有README.EXT_SKEL这样一个文件,打开详细阅读了一下,发现了一个非常好用的工具,这个工具可以帮你构建一个空的php扩展,然后你向里面添加相应的代码就可以完成你自己的功能

如何在Web工程中实现任务计划调度

转载自: http://www.oschina.net/question/146385_37793?sort=time 下面就Servlet侦听器结合Java定时器来讲述整个实现过程.要运用Servlet侦听器需要实现javax.servlet.ServletContextListener接口,同时实现它的contextInitialized(ServletContextEvent   event)和contextDestroyed(ServletContextEvent   event)两个接

java 读取数据库中文信息,为何在jsp页面中出现乱码

有如下几种解决办法: 1.保证项目的字符编码和每一个jsp页面的字符编码一致,如果不一致可能导致中文乱码问题<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %><meta http-equiv="Content-Type" content="text/html; charset=

如何在web api中使用SignalR

说明: 在webapi中使用signalr,使用IIS 环境: vs2012, .net4.5 第一步:建web api项目 第二步:nuget导入signalr Install-Package Microsoft.AspNet.SignalR Install-Package Microsoft.Owin.Cors  (用于跨域) 第三步:创建hub类 demo是从网上down的,去除了一些没用到的东西,只保留了MessageHub 第四步:创建Startup类 第五步:在webapi方法中调用