Quick BI通过SDK调用仪表板发布为数据服务的接口报错“response: errorCode: OE10010104, errorMsg: signature error”
更新时间:
【问题描述】
数据服务模块将报表发布为API接口,具体配置如下:

SDK代码调用的时候,不传递业务参数调用成功,但是给virtual这个参数传值的时候就调用报错:

具体调用的SDK代码如下:
public static void queryBySidFromPop() throws SDKException { HttpRequest request = HttpRequest.build() .setUri("/openapi/v2/data/query")
.setMethod(HttpMethod.POST)
.setHttpContentType(FormatType.FORM); request.addParameter("sid","XXXXXX");
Map<String,String> conditionMap = new HashMap<>(); conditionMap.put("virtual","否");
conditionMap.put("createTime", "202408"); request.addParameter("conditions", conditionMap);
String result = config.getClient().syncExecute(request); System.out.println(result);
}【解答】
参考的代码案例是低版本的写法,需要优化成如下模式:
public static void queryBySidFromPop() throws SDKException {
HttpRequest request = HttpRequest.build()
.setUri("/openapi/v2/data/sid值")
.setMethod(HttpMethod.POST)
.setHttpContentType(FormatType.JSON);
// request.addParameter("sid","XXXX");
Map<String, String> conditionMap = new HashMap<>();
conditionMap.put("virtual","否");
conditionMap.put("createTime", "202408");
request.addParameter("conditions", conditionMap);
String result = config.getClient().syncExecute(request);
System.out.println(result);
}其中数据服务的sid值,直接通过接口URI传递了,不再通过request.addParameter("sid","XXXXXX"); 设置。
【适用于】
独立部署5.0.3
该文章对您有帮助吗?