Get Structure Asset¶
获取用户在组织结构上的资产。
操作权限¶
用户需要登录 Application Portal。
请求格式¶
POST https://{apigw-address}/app-portal-service/v2.2/structure/asset/list
请求参数(Header)¶
名称 | 必需/可选 | 数据类型 | 描述 |
---|---|---|---|
Authorization | 必需 | String | Access Token,以Bearer Token表示,需要通过调用 Log In 或 Refresh Access Token 接口后获取。 |
请求参数(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);
}
}