Get App Menu and Permission

获取应用的权限点及菜单列表。

约束条件

  • 关联的应用已被组织购买
  • 用户需要对该应用的菜单或者权限点有对应的权限(否则返回结果为空)

请求格式

GET https://{apigw-address}/app-portal-service/v2.2/user/app/resource/info

请求参数(URI)

名称 位置(Path/Query) 必需/可选 数据类型 描述
accessKey Query 必需 String 应用的服务账号,应用以 accessKey 进行鉴权以获得其被授权访问的数据。如何获取accessKey信息>>

响应参数

名称 数据类型 描述
data data结构体 权限点和菜单列表。

data结构体

名称 数据类型 描述
permissions Permission列表 权限点列表。
menus Menu列表 菜单列表。

Permission列表

名称 数据类型 描述
id String 权限点ID。
identifier String 权限点唯一标识符。
name String 权限点名称。

错误码

代码 描述
31400 AccessKey不能为空
31401 提供的Access Token无效
31403 没有此应用权限
31404 应用不存在或组织未购买此应用

示例

请求示例

url: https://{apigw-address}/app-portal-service/v2.2/user/app/resource/info?accessKey=app_1

method: GET

headers: {"Authorization":"Bearer APP_PORTAL_S_TDKKeqfYBK3m5z3LRgKVqThWDYnRBN44"}

返回示例

{
  "code": 0,
  "message": "OK",
  "data": {
    "permissions": [],
    "menus": [
      {
        "id": "accessKey",
        "identifier": "menu",
        "name": "menu",
        "url": "/a",
        "displayOrder": 1,
        "parentId": "",
        "children": []
      },
      {
        "id": "accessKey",
        "identifier": "menu2",
        "name": "menu2",
        "url": "/eos-wind-map/assetOverview.html",
        "displayOrder": 2,
        "parentId": "",
        "children": []
      }
    ]
  }
}

Java SDK 调用示例

public class AppPortalSdkTest{
    @Test
    public void GetAppMenuAndPermissionTest() {
        AppResourceRequest appResourceRequest = new AppResourceRequest("your_access_key", "your_access_token");
        AppResourceResponse appResourceResponse = Poseidon.config(PConfig.init().appKey("your_access_key").appSecret("your_secret_key").debug())
                .url("https://{apigw-address}").getResponse(appResourceRequest, AppResourceResponse.class);

        System.out.println("Get app permission and menu res: " + JSON.toJSONString(appResourceResponse));

        assertNotNull("Response should not be null", appResourceResponse);
        assertNotNull("Response data should not be null", appResourceResponse.data);
        assertNotNull("Menus should not be null", appResourceResponse.data.menus);
        assertNotNull("Permissions should not be null", appResourceResponse.data.permissions);
    }
}