开发者社区> 问答> 正文

如何查看授权

OnsEmpowerList 接口可以查询目标 Topic 对特定账号的授权信息。

使用场景

Topic 的所有者查询自己 owner 的 Topic 是否对特定账号授权,授权的类型可以通过该接口查询。

请求参数列表

名称    类型    是否必须    描述
OnsRegionId    String    是    当前查询 MQ 所在区域,可以通过 OnsRegionList 方法获取
OnsPlatform    String    否    该请求来源,默认是从 POP 平台
PreventCache    Long    是    用于 CSRF 校验,设置为系统当前时间即可
EmpowerUser    Long    是    查询的目标用户 User ID,支持子账号 ID
Topic    String    否    查询的目标 Topic,该 Topic 必须是当前用户所有
返回参数列表

名称    类型    描述
RequestId    String    为公共参数,每个请求独一无二
HelpUrl    String    帮助链接
Data    List(AuthOwnerInfoDo)    查询到的权限数据列表
AuthOwnerInfoDo 结构体内容

名称    类型    描述
Topic    String    Topic 名称
Owner    Long    所有者 UserId
Relation    Integer    权限类型,参考授权的参数说明
相关 API

OnsEmpowerCreate:创建授权信息
OnsEmpowerDelete:删除授权信息
使用示例

    public static void main(String []args) {
            public static void main(String []args) {
                    String regionId = "cn-hangzhou";
                    String accessKey = "XXXXXXXXXXXXXXXXX";
                    String secretKey = "XXXXXXXXXXXXXXXXX";
                    String endPointName ="cn-hangzhou";
                    String productName ="Ons";
                    String domain ="ons.cn-hangzhou.aliyuncs.com";
                    /**
                    *根据自己需要访问的区域选择Region,并设置对应的接入点
                    */
                    try {
                        DefaultProfile.addEndpoint(endPointName,regionId,productName,domain);
                    } catch (ClientException e) {
                        e.printStackTrace();
                    }
                    IClientProfile profile= DefaultProfile.getProfile(regionId,accessKey,secretKey);
                    IAcsClient iAcsClient= new DefaultAcsClient(profile);
                   OnsEmpowerListRequest request = new OnsEmpowerListRequest();
                   request.setOnsRegionId("cn-qingdao-publictest");
                   request.setPreventCache(System.currentTimeMillis());
                   request.setAcceptFormat(FormatType.JSON);
                   request.setEmpowerUser("1675352326808602");
                   request.setTopic("topic_for_public_msg_test");
                   try {
                       OnsEmpowerListResponse response=iAcsClient.getAcsResponse(request);
                       System.out.println(response.getRequestId());
                   } catch (ServerException e) {
                       e.printStackTrace();
                   } catch (ClientException e) {
                       e.printStackTrace();
                   }
                }

展开
收起
猫饭先生 2017-10-27 14:00:31 1653 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载