Get Users Structure List

不登录 Application Portal 的状态下获取一批用户的组织结构。

操作权限

需要在 Application Portal 给应用授权“获取本 OU 内所有用户的权限信息”的权限。

请求格式

POST https://{apigw-address}/app-portal-service/v2.2/userStructures/structureList

请求参数(Body)

名称 必需/可选 数据类型 描述
organizationId 必需 String 组织 ID。如何获取 organizationId 信息>>
userIds 必需 List 用户 ID 列表。
locale 可选 String

语言代码。不填默认为 default 值。

  • 英语为 en_US
  • 中文为 zh_CN
  • 西班牙语为 es_ES
  • 日语为 ja_JP

响应参数

名称 数据类型 描述
data data 结构体 用户及其对应组织结构的信息。

data 结构体

名称 数据类型 描述
usersStructures UsersStructureListResponse 结构体 用户及其对应组织结构的信息。

UsersStructureListResponse 结构体

名称 数据类型 描述
usersUserStructures UsersUserStructureDTO 结构体 用户及其对应组织结构的信息。
userStructures UserStructureInfoDTO 结构体 组织结构信息。

UsersUserStructureDTO 结构体

名称 数据类型 描述
userId String 用户 ID。
structureIds List 组织结构 ID 列表。

UserStructureInfoDTO 结构体

名称 数据类型 描述
id String 组织结构 ID。
name String 组织结构名称。

错误码

代码 描述
31400 参数错误,长度错误,不能为空等
31403 应用未被授权“获取本 OU 内所有用户的权限信息”的权限
31404 未找到组织

示例

请求示例

url: https://{apigw-address}/app-portal-service/v2.2/userStructures/structureList

method: POST

requestBody:
{"organizationId":"yourOrgId","userIds": ["user1","user2","user3"]}

返回示例

{
    "code": 0,
    "message": "OK",
    "data": {
        "usersUserStructures": [
            {
                "userId": "u15689477086181",
                "structureIds": [
                    "sg16137846308541409",
                    "sg16137851224531195",
                    "sg16243347949301778",
                    "sg16112213077111"
                ]
            }
        ],
        "userStructures": [
            {
                "name": "messageProduce",
                "id": "sg16112213077111"
            },
            {
                "name": "testOrg",
                "id": "sg16137846308541409"
            },
            {
                "name": "OU1_ユーザーは選択 OU1_ユーザーは選択 OU1_ユーザーは選択",
                "id": "sg16137851224531195"
            },
            {
                "name": "structureName001",
                "id": "sg16243347949301778"
            }
        ]
    }
}

Java SDK 调用示例

public class AppPortalSdkTest{
    @Test
    public void getUsersStructureList() {
            ArrayList<String> userIds = new ArrayList<>();
            userIds.add("user1");
            userIds.add("user2");
            userIds.add("user3");
            UsersStructureListRequest usersStructureListRequest = new UsersStructureListRequest(userIds,"your_org_id","your_locale");
            UsersStructureListResponse response = Poseidon.config(PConfig.init().appKey("your_access_key").appSecret("your_secret_key").debug())
                    .url("https://{apigw-address}").getResponse(usersStructureListRequest, UsersStructureListResponse.class);

            System.out.println("List organization res: " + JSON.toJSONString(response));
            assertNotNull("Response should not be null", response);
            assertNotNull("Response data should not be null", response.data);

    }
}