(本文档仅供参考)
问题:
需要统计每个机构下每个人分别创建了多少个报表资源,但资源创建者在系统知识库中不是以单独的字段进行存储,而是和资源的权限一起存在t_restree表中的c_prem字段,无法通过SQL直接解析出。是否提供了相关接口可以直接获取到?
解决办法:
接口如下:https://wiki.smartbi.com.cn/api/javaapiv7/
接口使用,例如在任务界面中调用接口。
importPackage(Packages.java.io); importPackage(Packages.java.lang); importPackage(Packages.java.util); importPackage(Packages.smartbi.usermanager); importPackage(Packages.smartbi.sdk); importPackage(Packages.smartbi.sdk.service.user); importPackage(Packages.smartbi.sdk.service.datasource); importPackage(Packages.smartbi.sdk.service.catalog); importPackage(Packages.smartbi.catalogtree); var catalogService= new CatalogService(connector); var Permission=catalogService.getAssignedPermissions("95950a6e5ecf94ed01ed06d9ded64f77"); //根据资源id获取直接授予的权限 var creators = Permission.getOwner(); //直接授予的权限列表中获取创建者 var creatorid=creators.id; var creatorname=creators.name; var creatoralias=creators.alias; context.put("message", "id:" +creatorid+"\n名称:"+creatorname+"\n别名:"+creatoralias);