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);
}
}