Quick BI独立部署环境调用接口创建用户组,运行报错“com.alibaba.quickbi.openapi.core.exception.ClientException: error response: errorCode: AE0150020002, errorMsg: 用户组不存在”

更新时间:

问题描述

Quick BI独立部署环境调用接口“/openapi/v2/usergroup”创建用户组,运行报错“com.alibaba.quickbi.openapi.core.exception.ClientException: error response: errorCode: AE0150020002, errorMsg: 用户组不存在”。调用代码如下:

 	HttpRequest httpRequest2 = HttpRequest.build()
                    .setUri("/openapi/v2/usergroup")
                    .setHttpContentType(FormatType.JSON)
                    .setMethod(HttpMethod.POST)
                    .addParameter("usergroupName", "testGroup2")
                    .addParameter("parentUsergroupId", "-1");
            String response2 = apiClient.syncExecute(httpRequest2); // 这行报的错
}

具体的代码报错如下:

com.alibaba.quickbi.openapi.core.exception.ClientException: error response: errorCode: AE0150020002, errorMsg: 用户组不存在, traceId : 98828662-4d49-4f31-b61e-5f4a119f0920
 at com.alibaba.quickbi.openapi.client.OpenApiClientHttpClient.parseHttpResponse(OpenApiClientHttpClient.java:167)
 at com.alibaba.quickbi.openapi.client.OpenApiClientHttpClient.syncExecute(OpenApiClientHttpClient.java:112)
 at com.bespin.ssoportal.portal.controller.ImgController.adjustmentUserGroup(ImgController.java:110)
 at com.bespin.ssoportal.portal.controller.ImgController.uploadImg(ImgController.java:74)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:498)

问题原因

参数parentUsergroupId传递不对导致。如果客户将用户组添加到组织的根目录,默认的根目录“所有组”UsergroupId为-1,但是部分独立部署客户会将根目录的UsergroupId修改。

解决方案

客户将组织根目录“所有组”的GroupID修改,不是-1。可以调用接口/openapi/v2/usergroup (GET)查询⽤户分组列表,其返回值中包含根目录“所有组”的UsergroupId:

然后将该查询到的UsergroupId传递到/openapi/v2/usergroup接口的parentUsergroupId中即可。

适用于

  • Quick BI