Get User Base Info

根据用户邮箱、账号和域、或电话号码和电话区号获取用户的基本信息如用户 ID 等。

操作权限

需要在 Application Portal 给应用授权“获取本 OU 内所有用户 ID、账号、邮箱、手机号码”的权限。

请求格式

POST https://{apigw-address}/app-portal-service/v2.2/user/getUserBaseInfo

请求参数(Body)

名称 必需/可选 数据类型 描述
organizationId 必需 String 组织 ID。如何获取 organizationId 信息>>
email 可选 String 用户邮箱。
name 可选 String 用户名。
domain 可选 String 域名称。
phoneArea 可选 String 电话区号。
phone 可选 String 电话号码。

响应参数

名称 数据类型 描述
data SimpleUserListDTO 结构体 用户基本信息的列表。

SimpleUserListDTO 结构体

名称 数据类型 描述
users List<SimpleUserDTO> 用户基本信息的列表。

SimpleUserDTO 结构体

名称 数据类型 描述
id String 用户 ID。
name String 用户名。
domain String 用户所属域。
email String 用户邮箱。

错误码

代码 描述
31400 参数错误,参数不能为空等
31403 应用未被授权“获取本 OU 内所有用户 ID、账号、邮箱、手机号码”的权限
31404 未找到组织、用户等

示例

请求示例

url: https://{apigw-address}/app-portal-service/v2.2/user/getUserBaseInfo

method: POST

requestBody:
{"organizationId":"yourOrgId", "email":"yourEmail"}

返回示例

{
  "code": 0,
  "message": "OK",
  "data": {"users": [{"id": "userId1", "name": "userName1", "domain": "", "email": "email1"}]}
}

Java SDK 调用示例

public class AppPortalSdkTest{
    @Test
        public void getUserBaseInfo() {
            UserGetBaseInfoRequest userGetBaseInfoRequest = new UserGetBaseInfoRequest("your_org_id", "your_email", null, null, null, null);
            UserGetBaseInfoResponse userGetBaseInfoResponse = Poseidon.config(PConfig.init().appKey("your_access_key").appSecret("your_secret_key").debug())
                    .url("https://{apigw-address}").getResponse(userGetBaseInfoRequest, UserGetBaseInfoResponse.class);

            System.out.println("List organization res: " + JSON.toJSONString(userGetBaseInfoResponse));

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