API嵌入集成web
1.1 描述json
FineBI是基於B/S架構的瀏覽器/服務器模式,如今用戶開發的系統基本上趨向於B/S架構的瀏覽器/服務器模式,所以有些頁面徹底能夠直接採用web頁面嵌入式集成的簡易方式完成集成。並且些由於框架的緣由能夠採用json的調用方式進行集成。經過集成,用戶從本身的系統經過鏈節使用瀏覽器訪問FineBI的服務器,從而在本身系統內調用BI的web頁面,來實際嵌入式集成。這種集成一般會有兩種方式:一種是直接使用URL鏈節,另外一種方式是經過js的調用json來得到分析模板。下面先提供各部分的URL連接接口、json格式的APIapi
1.2 API插件跨域
FineBI的各類接口開放是以插件的形式來實現的,同時經過插件來實現跨域的集成。所以在集成前,要在FineBI的系統中,安裝API插件。下載好後,在BI管理系統的插件管理中,選擇本地安裝便可。安裝完成,重起BI服務器便可。瀏覽器
公共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# url
如下均相同,再也不贅述。
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在瀏覽器上返回當前登陸用戶的我建立的模板分析的詳細信息(包括文件夾和模板),其中還包括該模板的分享信息。
僅非管理員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得到。
僅管理員可用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}]。
總結
一、FineBI操做細分的四個部分:建立業務包、新建分析、我建立的和分享給個人中,通常來講,只有建立業務包纔是管理員操做,其餘的三項是非管理員操做,故,在使用API進行集成的時候要注意建立業務包API連接節點只能對管理員可見,若是對其餘用戶可見,那麼,該用戶登陸系統以後,點擊節點,不會有任何反應,若是必定要給其餘用戶以建立業務包的權限,首先須要將配置BI數據源的權限給該用戶。
二、上述全部接口中的${servletURL}表示http://localhost:端口號/工程名/ReportServer,若是用戶系統跟FineBI在同一系統中,可使用FR.ServletURL獲取,若是FineBI也是用戶系統,那麼能夠直接使用${servletURL},不然,須要寫絕對路徑。