Quick BI通过SDK代码调用QueryDatasetDetailInfo接口报“the user is not an organizational user of Quick BI”

更新时间:

问题描述

Quick BI通过SDK代码调用QueryDatasetDetailInfo接口查询数据集详情,报错“the user is not an organizational user of Quick BI”。

客户调用的完整代码如下:

  private static void  qbiCall(){
        String accessKey = "XXXXXX";
        String secretKey = "XXXXX";
          // 单元信息。当前QuickBIs是中心化部署,regionId指定为null即可
        String regionId = "null";
          // 应用名称,系统默认为quickbi-public,无需修改
        String appName = "quickbi-public";
          // Quick BI对应的域名, 默认quickbi-public.aliyuncs.com
        String domain = "quickbi-public.aliyuncs.com";
         // 1:创建DefaultAcsClient实例并初始化。
        IClientProfile profile = DefaultProfile.getProfile(regionId, accessKey , secretKey);
        DefaultProfile.addEndpoint(regionId, appName, domain);
        IAcsClient client = new DefaultAcsClient(profile);
        QueryDatasetDetailInfoRequest detailInfoRequest = new QueryDatasetDetailInfoRequest();
        detailInfoRequest.setDatasetId("1");
        detailInfoRequest.setActionName("QueryDatasetDetailInfo");
        detailInfoRequest.setAcceptFormat(FormatType.JSON);
         // 3: 发起请求并处理应答或异常(ClientException)
        try {
            QueryDatasetDetailInfoResponse response = client.getAcsResponse(detailInfoRequest);
            // TODO 你的业务处理
        } catch (ClientException e) {
            // 错误码捕获。但业务出错时,通过捕获ClientException获取抛错信息。
            e.printStackTrace();
        }
    }

问题原因

代码调用该API前,AK对应的用户未登录过Quick BI。

解决方案

Ak信息对应的用户必须是组织管理员,且登录过Qucik BI,同步阿里云信息。

适用于

  • Quick BI