Get Structure Asset

获取用户在组织结构上的资产。

操作权限

用户需要登录 Application Portal。

请求格式

POST https://{apigw-address}/app-portal-service/v2.2/structure/asset/list

请求参数(Body)

名称

必需/可选

数据类型

描述

structureIds

必需

List<String>

组织结构id列表,可以通过接口 Get User Structures 获取这些组织结构。

locale

可选

java.util.Locale

语言,用于显示对应语言的资产和组织结构名称,不填默认为英语

响应参数

名称

数据类型

描述

data

List<StructureAssetDTO>

组织结构及其下面用户有权限的资产。

StructureAssetDTO结构体

名称

数据类型

描述

structureId

String

组织结构ID。

structureName

String

组织结构名称。

assets

List<AssetBaseDTO>

组织结构下用户有权限的资产。

AssetBaseDTO结构体

名称

数据类型

描述

assetId

String

资产ID。

assetName

String

资产名称。

错误码

代码

描述

31400

structureIds为空或者存在不合法id

31401

提供的Access Token无效

31404

组织内不存在调用时使用的app

示例

请求示例

url: https://{apigw-address}/app-portal-service/v2.2/structure/asset/list

method: POST

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

返回示例

{
  "code": 0,
  "data": [
      {
        "children": [
                      {"assetId": "3rV4rzfF","assetName": "逆变器资产1"},
                      {"assetId": "2rVQ6ze4","assetName": "逆变器资产2"}
                    ],
        "structureId": "sg15941063016501",
        "structureName": "东华"
      },
      {
        "children": [
                      {"assetId": "2rd66fd3","assetName": "逆变器资产3"},
                      {"assetId": "2rVQ6zfF","assetName": "逆变器资产4"}
                    ],
        "structureId": "sg15941063016711",
        "structureName": "SOHO"
      }
    ],
  "message": ""
}

Java SDK 调用示例

public class AppPortalSdkTest{
    @Test
    public void getStructureAssetTest() {
        List<String> structureIds = new ArrayList<>();
        structureIds.add("your_structure_id1");
        structureIds.add("your_structure_id1");
        GetStructuresAssetsRequest getStructuresAssetsRequest = new GetStructuresAssetsRequest("your_access_token", structureIds, Locale.ENGLISH);
        StructureAssetsListResponse structureAssetsListResponse = Poseidon.config(PConfig.init().appKey("your_access_key").appSecret("your_secret_key").debug())
                .url("https://{apigw-address}").getResponse(getStructuresAssetsRequest, StructureAssetsListResponse.class);

        System.out.println("Structure Asset res: " + JSON.toJSONString(getStructuresAssetsRequest));

        assertNotNull("Response should not be null", getStructuresAssetsRequest);
        assertNotNull("Response data should not be null", getStructuresAssetsRequest.data);
    }

}