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},否則,需要寫絕對路徑。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章