页面树结构
转至元数据结尾
转至元数据起始

1.背景说明

目前Smartbi提供的 Java API  在第三方系统集成Smartbi时,使用起来非常的不方便,特别是使用Smartbi的服务端SDK接口,需要引入大量的jar包,同时在调用SDK的方式时还需要使用用户名密码进行登录,不利于使用。

因此,针对一些常用的后端API接口,封装成可 HTTP 方式调用的接口。

2.使用说明

2.1 扩展包部署

       扩展包:SmartbiAPI接口插件

       扩展包部署 ,详细说明请参考Wiki链接:扩展包部署

2.2 配置说明

在成功部署 【Smartbi API 插件】扩展包后,访问Smartbi的Config配置界面 (地址为 http://IP:PORT/smartbi/vision/config.jsp),配置令牌登录的信息:密钥、超时时间等,详细说明可参考:令牌登录功能说明 

注:需要记住该密钥,后面第三方系统调用API接口,生成smartbiToken时需要使用到该密钥。

2.2 smartbiToken参数生成

API接口中使用到的smartbiToken参数是与 令牌登录功能说明  中的smartbiToken令牌的生成规则相同的。

token的结构参考如下:

1
2
3
4
5

{

    "timestamp":时间戳,

    "username":"用户名",

    "password":"可选,用户密码",       

    "extend":{"扩展对象,用于一些额外业务扩展,比如增加系统标识" }

}


token为json格式,其中时间戳在java语法中指new java.util.Date().getTime()获取的毫秒数,如1648519473246,不需要双引号,其他部分的双引号不可以缺少

使用 smartbi-CryptoUtil.zip 中的 smartbi-CryptoUtil.jar 的工具类的encrypt方法(默认使用AES-GCM方式加密)来加密token来获得令牌(smartbiToken),其中加密API是:smartbi.crypto.CryptoUtil.encrypt(String, String)。

另外DES的加密API是:CryptoUtil.encrypt(AlgorithmType.DES,String,String)。

smartbiToken的生成示例:

2.3 API接口格式:

链接格式:http://ip:port/smartbi/vision/api/xxxxx?smartbiToken=用户信息加密串&paramsInfo=接口参数

链接格式解析

作用

ip:port

Smartbi系统服务器地址端口

smartbiToken 

令牌,即使用AES或DES加密的token信息,token信息需要使用encodeURIComponent转义,避免

token中存在特殊字符

paramsInfo

入参结构参考如下:JSON对象序列化后的字符串。
若该参数值含有特殊符号,需要特殊处理,例如使用encodeURIComponent转义

2.4 API接口说明

目前在Smartbi API接口插件中仅整理了一部分的常用接口,具体接口调用方式和接口说明请见附件文档:SmartbiAPI接口说明文档_V1.0.pdf


  • 无标签