历史版本35 :Web页面集成常见问题 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineBI 版本JAR 包版本功能变动
5.1--
2020-08-04单表更新和业务包更新支持设置全量&增量更新
5.1.52020-09-02单表更新和业务包更新接口中将使用「业务包名」参数变更为「业务包 ID」
5.1.72020-11-05新增查询更新情况接口

1.2 应用场景

FineBI 是基于 B/S 架构的浏览器/服务器模式,现在用户开发的系统基本上趋向于 B/S 架构的浏览器/服务器模式,因此有些页面完全可以直接采用 Web 页面嵌入式集成的简易方式完成集成。

通过集成,用户从自己的系统通过链接使用浏览器访问 FineBI 的服务器,从而在自己系统内调用 FineBI 的 Web 页面。

1.3 功能介绍

集成通常有两种方式:

  • 直接使用 URL 链接

  • 通过 JS 调用 JSON 来获得分析模板。

本章提供各部分的 URL 链接接口以及 JSON 格式的 API 。

FineBI 在嵌入式集成时一般分为两步:获取 Token 和调用其他相关 API ,详情请参见: Web页面简单集成例子 。

注1:由于平台安全限制,FineBI 在集成时需要将「管理系统>安全管理>安全防护」中的 Security Headers 关闭才可跨域。 

注2:以下接口均支持跨域,且跨域与不跨域的返回值均一致。

2. 普通接口编辑

2.1 新建仪表板

作用:使用该接口可以新建一个仪表板

URL:/v5/api/platform/dashboard/reports?dir=xxx

请求方式:GET

参数说明:

  参数说明    示例
  dir  创建到的目录结构  dir={"name":"新建仪表板12","catalog":["新建文件夹"]}

请求示例:localhost:37799/webroot/decision/v5/api/platform/dashboard/reports?dir={"name":"新建仪表板12","catalog":["新建文件夹"]}

返回数据示例:

{    "success": true,    "code": "200",    "message": "success",    "data": {        "id": "72b579f34fef4982b53c723170de60cb",        "name": "新建仪表板12",        "folder": false,        "initTime": 1593312632150,        "lastUpdateTime": 1593312632150,        "shared": false,        "pId": "898b2dcdc6e145d38958aa304d11c362",        "createBy": "b5f0c2ee-640f-4039-a4d4-918b55354898",        "hangout": "NORMAL",        "publicLink": {            "shared": false,            "uri": null,            "reportId": "72b579f34fef4982b53c723170de60cb",            "userId": null        },        "mountedDirIds": [],        "applyTime": 0    },    "errorCode": null,    "detailErrorMsg": null,    "errorMsg": null}

2.2 删除仪表板

作用:通过调用该接口,用户可以删除已经创建好的仪表板

URL:/v5/api/platform/dashboard/report?info=xx

参数说明:

  参数              说明                               实例  
  info    需要删除的仪表板      {"folder":是否是文件夹,"reportId":"模板id"}    

请求方式:GET

请求示例:localhost:37799/webroot/decision/v5/api/platform/dashboard/report?info={"folder":false,"reportId":"d5a78c3fc1f643059f02ff43fbdd44a9"}

成功返回数据:

{   data:true}

失败返回数据:

{   errorCode:xxx 错误码}

2.3 重命名仪表板

作用:通过调用该接口,用户可以修改已经创建好的仪表板的名称。

URL:/v5/api/platform/dashboard/rename?info=xx

请求方式:GET

参数说明:

  参数              说明                               实例  
  info    需要重命名的仪表板      {"name":"模板名字","newName":"重命名的名字","reportId":"模板id"}    

请求示例:localhost:37799/webroot/decision/v5/api/platform/dashboard/rename?info= {"name":"新建仪表板","newName":"数据分析","reportId":"d5a78c3fc1f643059f02ff43fbdd44a9"}

成功返回数据:

{   data:true}

失败返回数据:

{   errorCode:xxx 错误码}

2.4 仪表板另存为

作用:使用该接口可以另存一个仪表板

URL:/v5/platform/dashboard/saveas

请求方式:GET

参数说明:

参数说明示例
from需要另存的仪表板
"from":[{"reportId":"3ef0fe316b604c75bc4ec0ab644ce0f9"}]
to另存到的路径"to":{"name":"新建仪表板61","catalog":[]}

返回成功数据示例:

code: "200"data: {id: "d07aeebaa6244d7c984cac0cd1f7c32a", name: "新建仪表板61", folder: false, initTime: 1557801373662,…}applyTime: 0createBy: "b5f0c2ee-640f-4039-a4d4-918b55354898"folder: falsehangout: "NORMAL"id: "d07aeebaa6244d7c984cac0cd1f7c32a"initTime: 1557801373662lastUpdateTime: 1557801371510mountedDirIds: []name: "新建仪表板61"pId: "b5f0c2ee-640f-4039-a4d4-918b55354898"publicLink: {shared: false, uri: null, reportId: "d07aeebaa6244d7c984cac0cd1f7c32a", userId: null}shared: falsedetailErrorMsg: nullerrorCode: nullerrorMsg: nullmessage: "success"success: true

注:返回的 data.id 是模板 id,根据模板 id 获取模板信息。

返回失败数据示例:(根据errorCode判断是否模板名是否重复)

code: "200",message: "success",data: [ ],success: false,errorCode: "61310032",detailErrorMsg: null,errorMsg: "ReportIndex{name='20190117111140448_10813', folder=false, initTime=1557802945315, lastUpdateTime=155780

2.5 当前目录下仪表板及文件夹列表(JSON)

作用:我的(当前登录者)仪表板下对应目录的详细数据信息(包括文件夹和仪表板)

URL:/v5/api/platform/dashboard/list?dir=xxx

请求方式:GET

参数说明:

  参数说明  示例  
  dir创建到的目录结构  

 dir={"catalog":["新建文件夹"],"reportId":"7e6382e9fe5448b38bb0bc3f50913b5d"}

注:reportId 为目录 id ;如果是根目录,reportId 为 urserId

注:因为 FineBI 中 URL 传递 JSON 对像,若有些服务器不支持 JSON 的 URL ,就需要把 dir 值先进行编码 encodeURIComponent() ,具体参考本文 4.1 节内容。

请求示例:localhost:37799/webroot/decision/v5/api/platform/dashboard/list?dir={"catalog":["新建文件夹"],"reportId":"7e6382e9fe5448b38bb0bc3f50913b5d"}

返回数据示例:

{    "code": "200",    "data": [        {            "applyTime": 0,            "createBy": "b5f0c2ee-640f-4039-a4d4-918b55354898",            "folder": false,            "hangout": "NORMAL",            "id": "0ba9d9496aee4bba95fcf60d78473115",            "initTime": 1539157863240,            "lastUpdateTime": 1539157863241,            "mountedDirIds": [],            "name": "新建仪表板12",            "pId": "d5a78c3fc1f643059f02ff43fbdd44a9",            "publicLink": {                "reportId": "0ba9d9496aee4bba95fcf60d78473115",                "shared": false,                "uri": null,                "userId": null            }        },        {            "applyTime": 0,            "createBy": "b5f0c2ee-640f-4039-a4d4-918b55354898",            "folder": false,            "hangout": "NORMAL",            "id": "7e6382e9fe5448b38bb0bc3f50913b5d",            "initTime": 1539157797060,            "lastUpdateTime": 1539157797061,            "mountedDirIds": [],            "name": "新建仪表板",            "pId": "d5a78c3fc1f643059f02ff43fbdd44a9",            "publicLink": {                "reportId": "7e6382e9fe5448b38bb0bc3f50913b5d",                "shared": false,                "uri": null,                "userId": null            }        }    ],    "detailErrorMsg": null,    "errorCode": null,    "errorMsg": null,    "message": "success",    "success": true}

2.6 获取仪表板相关信息 API

作用:使用该接口可以获取模板相关信息。输入:模板 ID 和创建者 ID ;返回:模板信息

URL:/v5/api/platform/dashboard/reports/info?info=xxx

请求方式:GET

参数说明:

  参数  说明  示例
  info  需要查看的仪表板目录  info={"index":[  { "id":"7e6382e9fe5448b38bb0bc3f50913b5d" }] }

请求示例:localhost:37799/webroot/decision/v5/api/platform/dashboard/reports/info?info={"index":[  { "id":"7e6382e9fe5448b38bb0bc3f50913b5d" }] }

返回数据示例:

{    "code": "200",    "data": {        "index": [            {                "createBy": "1",                "folder": false,                "id": null,                "initTime": 1539157797060,                "lastUpdateTime": 1539157797061,                "name": "新建仪表板",                "pId": "d5a78c3fc1f643059f02ff43fbdd44a9"            }        ]    },    "detailErrorMsg": null,    "errorCode": null,    "errorMsg": null,    "message": "success",    "success": true}

2.7 仪表板管理节点所有仪表板信息

1)json 格式

角色:所有有模板管理节点权限的用户。

URL:/v5/api/dashboard/search?page=1&count=30

method:GET

返回数据示例:

{    "data": {        "reportIndexList": [{            "userInfo": {                "displayName": "3(3)",                "postNames": ["研发"],                "departmentNames": ["A"],                "customRoleNames": null,                "departmentPosts": [{                    "jobTitle": "研发",                    "departments": "A"                }]            },            "reportIndex": {                "name": "2312312",                "folder": false,                "initTime": 1537768891437,                "lastUpdateTime": 1538032909917,                "id": "5b5105c7f28547209cc50c5a23c3ebe6",                "pId": "8a1462058954493ead2c7cb8e63bc7ec",                "createBy": "80a56476-7ade-4b71-9c38-a365a9df591d",                "hangout": "NORMAL",                "publicLink": {                    "shared": false,                    "uri": null,                    "reportId": "5b5105c7f28547209cc50c5a23c3ebe6",                    "userId": null                },                "mountedDirIds": [],                "applyTime": 0            }        }, {            "userInfo": {                "displayName": "1(1)",                "postNames": null,                "departmentNames": null,                "customRoleNames": ["superusers"],                "departmentPosts": null            },            "reportIndex": {                "name": "新建仪表板1",                "folder": false,                "initTime": 1537768667041,                "lastUpdateTime": 1538032909810,                "id": "af0835a860c1460da5d78f5a871ccc05",                "pId": "53968b8b-14f4-4ec1-b9e0-347b1105af2d",                "createBy": "53968b8b-14f4-4ec1-b9e0-347b1105af2d",                "hangout": "NORMAL",                "publicLink": {                    "shared": false,                    "uri": null,                    "reportId": "af0835a860c1460da5d78f5a871ccc05",                    "userId": null                },                "mountedDirIds": [],                "applyTime": 0            }        }, {            "userInfo": {                "displayName": "1(1)",                "postNames": null,                "departmentNames": null,                "customRoleNames": ["superusers"],                "departmentPosts": null            },            "reportIndex": {                "name": "新建仪表板",                "folder": false,                "initTime": 1537768614423,                "lastUpdateTime": 1538032909774,                "id": "b63ae18862c0424d983865cbaa0dc7c4",                "pId": "53968b8b-14f4-4ec1-b9e0-347b1105af2d",                "createBy": "53968b8b-14f4-4ec1-b9e0-347b1105af2d",                "hangout": "NORMAL",                "publicLink": {                    "shared": false,                    "uri": null,                    "reportId": "b63ae18862c0424d983865cbaa0dc7c4",                    "userId": null                },                "mountedDirIds": [],                "applyTime": 0            }        }],        "applyingCount": 0,        "totalCount": 3    }}

2)可视化界面

角色:所有有模板管理节点权限的用户。

URL:/dashboard/management

method:GET

2.8 获取当前用户的所有详细信息

作用:使用该接口可以获取当前用户的所有详细信息。目前包括departs、roles、users、reports。

URL:/v5/api/dashboard/user/info

请求方式:GET

返回数据示例:

{    "data": {        "userInfo": {            "displayName": "1(1)",            "postNames": null,            "departmentNames": null,            "customRoleNames": ["superusers"],            "departmentPosts": null        },        "dashboards": [{            "name": "新建仪表板",            "folder": false,            "initTime": 1537768614423,            "lastUpdateTime": 1538032909774,            "id": "b63ae18862c0424d983865cbaa0dc7c4",            "pId": "53968b8b-14f4-4ec1-b9e0-347b1105af2d",            "createBy": "53968b8b-14f4-4ec1-b9e0-347b1105af2d",            "hangout": "NORMAL",            "publicLink": {                "shared": false,                "uri": null,                "reportId": "b63ae18862c0424d983865cbaa0dc7c4",                "userId": null            },            "mountedDirIds": [],            "applyTime": 0        }, {            "name": "新建仪表板1",            "folder": false,            "initTime": 1537768667041,            "lastUpdateTime": 1538032909810,            "id": "af0835a860c1460da5d78f5a871ccc05",            "pId": "53968b8b-14f4-4ec1-b9e0-347b1105af2d",            "createBy": "53968b8b-14f4-4ec1-b9e0-347b1105af2d",            "hangout": "NORMAL",            "publicLink": {                "shared": false,                "uri": null,                "reportId": "af0835a860c1460da5d78f5a871ccc05",                "userId": null            },            "mountedDirIds": [],            "applyTime": 0        }]    },}

2.9 取消分享

作用:通过调用该接口,用户可以将某个用户对的仪表板分享取消。

取消分享一个模板,一个用户:

URL:/v5/api/dashboard/share/user/rejection/result?entityId=a,b,c&userId=1,2,3

取消分享多个模板,多个用户:

接口为:/v5/api/dashboard/share/user/rejection/result?entityId=&userId=

2.10 分享给我的仪表板信息 API

作用:使用该接口可获取分享给我(当前登录用户)的所有模板信息

URL:/v5/api/dashboard/share

请求方式:GET

请求示例:localhost:37799/webroot/decision/v5/api/dashboard/share

返回数据示例:

{    "code": "200",    "data": [        {            "folder": true,            "createBy": "b5f0c2ee-640f-4039-a4d4-918b55354898",            "description": null,            "id": "e5bc1ae63f944050b43d031c21d01847",            "reportId": "e5bc1ae63f944050b43d031c21d01847",            "originType": "isShared",            "pId": "-2",            "text": "用指标解析银行数据"        }    ],    "detailErrorMsg": null,    "errorCode": null,    "errorMsg": null,    "message": "success",    "success": true}

2.11 触发全局更新 API

作用:使用该接口触发全局更新,根据当前业务包的状态选择是全局更新/ Check 更新/配置更新

URL:/v5/api/conf/update/generate

请求示例:localhost:37799/webroot/decision/v5/api/conf/update/generate

请求方式:GET

返回数据:

{    "success": true}

2.12 触发单表/业务包更新 API

作用:根据业务包名对业务包中所有的表进行更新,或者根据表转义名进行单表更新。 无论是业务包还是单表的更新,都进行的是业务包表或单表的全量的更新。 在不加表的转义名时候,进行的就是对这个业务包的更新,加了之后,进行的是对这个表的更新。

2.12.1 业务包更新

URL:/v5/api/conf/update/pack/table?info=xx

请求方式:GET

请求示例:localhost:37799/webroot/decision/v5/api/conf/update/pack/table?info={"packageName":"业务包"}

参数说明:

参数
版本说明示例
info2020-01-15 及之前的版本需要更新的业务包信息{"packageName":"业务包"}
2020-08-04 版本
2020-09-02 版本{"packageId":"业务包ID"}

返回数据(2020-01-15 及之前的版本):

{    "success": true}

返回数据(2020-08-04 版本):

{   "msg":Package absent or has no auth!Update all too often!Success}

2.12.2 单表更新

URL:/v5/api/conf/update/pack/table?info=xx

请求方式:GET

请求示例:localhost:37799/webroot/decision/v5/api/conf/update/pack/table?info={"packageName":"业务包","tableName":"产品销售表"}

参数说明:

参数版本说明示例
info2020-01-15 及之前的版本需要更新的表信息{"packageName":"业务包","tableName":"表转义名"}
2020-08-04 版本{"packageName":"业务包","tableName":"转义名","fullLoad":"false"}
2020-09-02 版本{"packageId":"业务包ID","tableName":"转义名","fullLoad":"false"}

注:fullload 参数为 false 表示增量更新,true 为全量更新,不填改参数默认为 true 。

返回数据(2020-01-15 及之前的版本):

{    "success": true}

返回数据(2020-08-04 版本):

{   "msg":Package absent or has no auth!Table is absent!Table is updating or waiting!Update all too often!Success}

2.13 查询更新情况接口

作用:可查询更新情况。

URL:/v5/api/conf/update/instance/任务实例id

注:该接口适用于 2020-11-03 及之后的 JAR;任务实例 id 示例:「b58924f1-5141-44a8-9122-fb635b4cd599」。

2020-11-03 及之后的JAR,下表所示的更新接口返回任务实例 id :

接口作用URL
触发单表/业务包更新接口v5/api/conf/update/pack/table?info=xx
触发全局更新接口

v5/api/conf/update/generate

返回数据示例:

{        "planId": "3845d501-b96b-46c7-b8c5-1d133dade15f",    "taskName": "银行_机构维度表单表更新",    "startTime": 1602664101054,    "endTime": 1602664101867,    "state": 1, //更新状态,1为已结束,2为正在运行中    "triggerType": 1, //触发方式,1为手动,2为自动,3为内部    "resultType": 2, //运行结果,1为全部成功,2为部分成功    "roleName": "admin",    "baseTableExpect": 1,    "baseTableFinish": 1,    "analysisTableExpect": 1,    "analysisTableFinish": 0,    "relationExpect": 1,    "relationFinish": 0}

2.14 获取所有业务包分组信息

作用:获取数据准备下所有业务包的分组

URL:/v5/api/conf/groups

请求方式:GET

请求示例:localhost:37799/webroot/decision/v5/api/conf/groups

返回数据示例:

{    "code": "200",    "data": [        {            "editable": true,            "id": "__no_group__",            "initTime": 1531100612398,            "myAnalysisTables": [],            "name": "__no_group__",            "packs": [                {                    "createBy": "1",                    "editable": true,                    "id": "a5e4bcbd09fd4de497d91839a0da82d6",                    "name": "业务包",                    "tableCount": 2,                    "timeStamp": 1536819164195,                    "type": 2,                    "usedSpace": 0.0                }            ]        },        {            "editable": true,            "id": "de20c13fdcdd436987289588b232c38c",            "initTime": 1531138781428,            "myAnalysisTables": [],            "name": "功能数据",            "packs": [                {                    "createBy": "1",                    "editable": true,                    "id": "18d26ef06d1f4e91adaa12c80feb2daa",                    "name": "销售DEMO",                    "tableCount": 9,                    "timeStamp": 1531101074181,                    "type": 2,                    "usedSpace": 4.123135566711426                },            ]        },    ],    "detailErrorMsg": null,    "errorCode": null,    "errorMsg": null,    "message": "success",    "success": true}

2.15 获取所有业务包信息 API

作用:集成时,不能一个个手动输入业务包名字或者表的名字来做相应的更新,需要有接口来获取到这些信息

URL:v5/api/conf/packs/{packageId}

请求方式:GET

请求示例:localhost:37799/webroot/decision/v5/api/conf/packs/{packageId}

返回数据示例:

{    "code": "200",    "data": {        "editable": true,        "errorTable": [],        "missTable": [],        "name": "销售DEMO",        "tables": [            {                "connectionName": "BI Demo",                "createBy": "1",                "editable": true,                "fields": [                    {                        "enable": true,                        "engineType": "Direct",                        "fieldGroupType": 0,                        "id": "DEMO[5f]PRODUCT_[4ea7][54c1]ID",                        "name": "产品ID",                        "primaryKey": false,                        "size": 32,                        "transferName": "产品ID",                        "type": 32,                        "usable": true                    },                    {                        "enable": true,                        "engineType": "Direct",                        "fieldGroupType": 0,                        "id": "DEMO[5f]PRODUCT_[4ea7][54c1][540d][79f0]",                        "name": "产品名称",                        "primaryKey": false,                        "size": 32,                        "transferName": "产品名称",                        "type": 16,                        "usable": true                    }                ],                "initTime": 1539161534282,                "memorize": true,                "name": "DEMO_PRODUCT",                "operators": null,                "pack": "18d26ef06d1f4e91adaa12c80feb2daa",                "realTimeData": false,                "selected": 0,                "tableName": "DEMO_PRODUCT",                "transferName": "产品名称维度",                "type": 1,                "usedSpace": 0.0007028579711914062            },        ]    },    "detailErrorMsg": null,    "errorCode": null,    "errorMsg": null,    "message": "success",    "success": true}

2.16 数据准备界面 API

作用:获取数据准备界面

URL:/v5/api/conf/page

请求方式:GET

请求示例:localhost:37799/webroot/decision/v5/api/conf/page

返回示例:

1576741072207633.png

2.17 导出之前自定义加工

作用:从 BI 的组件导出或者全局导出导出excel时,在导出操作之前,加入一些自定义操作,可以用这个接口实现。比如导出的文件进行自定义加密;

接口:ExportHandleProvider

package com.finebi.stable.fun; import com.fr.stable.fun.mark.Mutable; import java.io.OutputStream; /** * Created by Hiram on 2018/11/14. */public interface ExportHandleProvider extends Mutable {    String XML_TAG = "ExportHandleProvider";     int CURRENT_LEVEL = 1;     /**     *     * @param originalOutputStream  原始导出流     * @param type  导出类型     * @return 处理后的流     */    OutputStream handleStream(OutputStream originalOutputStream, ExportType type);}

示例源码:

下面的示例源码简单的统计一下导出文件的大小,输出在日志里面。写一个拦截处理的CountExportHandle,返回一个CountOutputStream,在write时计数,最后在close的时候输出大小。

CountExportHandle:

import com.finebi.stable.fun.ExportType;import com.finebi.stable.fun.impl.AbstractExportHandleProvider;import java.io.OutputStream;public class CountExportHandle extends AbstractExportHandleProvider {    @Override    public OutputStream handleStream(OutputStream originalOutputStream, ExportType type) {        return new CountOutputStream(originalOutputStream);    } }

CountOutputStream:

import com.fr.log.FineLoggerFactory;import java.io.IOException;import java.io.OutputStream;  public class CountOutputStream extends OutputStream {     private OutputStream out;     private int count;     public CountOutputStream(OutputStream out) {        this.out = out;    }     @Override    public void write(int b) throws IOException {        count++;        out.write(b);    }     @Override    public void write(byte[] b) throws IOException {        count += b.length;        out.write(b);    }     @Override    public void write(byte[] b, int off, int len) throws IOException {        count += len;        out.write(b, off, len);    }     @Override    public void flush() throws IOException {        out.flush();    }     @Override    public void close() throws IOException {        FineLoggerFactory.getLogger().info("===== export length: {}  ======", count);        out.close();    }}

注:该接口使用需要二次开发。

2.18 登录 BI 系统

作用:使用该接口可以登录 BI 系统。

URL:/login/cross/domain?fine_username=name&fine_password=password&validity=-1&callback=myfunction

method:GET

3. 页面集成接口编辑

很多用户为了统一门户,往往会把 FineBI 的后台管理页面集成到自己的系统中,本章提供 FineBI 支持的页面集成接口。

3.1 示例

以将数据决策系统的「模板管理页面」集成到用户系统为例。

以管理员身份进入数据决策系统,访问链接:http://localhost:37799/webroot/decision/dashboard/management ,如下图所示:

1609989614852011.png

以管理员身份进入数据决策系统,其中每个接口调用方法为访问:http://ip:端口/工程名/decision/接口调用

支持单独页面集成的管理菜单范围如下表所示:

管理菜单接口调用备注
模板管理/dashboard/management-
目录管理/directory-
用户管理/user-
权限管理/privilege-
定时调度/timer

无全局设置

注:5.1.5 版本,2020-09-02 及之后的 JAR 支持调用该接口

3.2 没有页面访问权限

问题描述:

用户以非管理员身份进入数据决策系统后,访问:http://IP:Port/webroot/decision/接口调用 ,出现如下报错:

1574315163723542.png

解决方案:

需要获得该页面的权限,请参考 分级权限分配

4. 注意事项编辑

4.1 获取业务包ID

业务包名称和 ID 值保存在 FineDB 数据库的 fine_conf_entity 表中,字段ID及字段值介绍如下表所示:

IDVALUE
DirectPackageConfStore.mapHolder.[packageId].name业务包名称(Unicode)
DirectPackageConfStore.mapHolder.[packageId].packId业务包ID

查看业务包 ID 步骤如下所示:

1)新增 FineDB 数据连接,具体可参考:FineDB 数据库简介 的 2.4 节内容。

2)新建服务器数据集,SQL语句为:SELECT *FROM fine_conf_entity where ID like 'DirectPackageConfStore.mapHolder%' and ID like '%name'

如下图所示:

01.png

3)预览新建的 SQL 数据集,可查看业务包 ID 。如下图所示:

02.png

4.2 服务器不支持 JSON 下的 URL

因为 FineBI 中 URL 传递 JSON 对像,若有些服务器不支持 JSON 的 URL ,就需要把 JSON 类型的 URL 参数值先进行编码encodeURIComponent()。

例如:

dir={"name":"新建仪表板12","catalog":[]} 需要改为:
encodeURIComponent(JSON.stringify({"name":"新建仪表板12","catalog":[]}))

编码显示为:

dir=%7B%22name%22%3A%22%E6%96%B0%E5%BB%BA%E4%BB%AA%E8%A1%A8%E6%9D%BF12%22%2C%22catalog%22%3A%5B%5D%7D

4.3 返回错误码

在进行系统集成时,如果后台有错误,会返回错误码(errorCode),具体异常码定义可以参考 系统错误码说明 

4.4 拒绝了我们的连接请求

问题描述

FineBI 通过 iframe 页面嵌入到其他页面中报错:xxx拒绝了我们的连接请求,如下图所示:

03.png

解决方案

管理员进入平台,点击「管理系统>安全管理」,关闭点击挟持攻击防护按钮。如下图所示:

04.png