Skip to content

用户V3用户管理 - FeishuUserV3User

接口名称

用户V3用户管理 - (IFeishuUserV3User)

功能描述

本接口提供飞书通讯录V3版本用户的管理功能,适用于用户应用场景。支持用户的查询、搜索以及获取当前登录用户信息等操作。使用用户令牌访问,适合代表用户执行用户相关操作的场景。

飞书用户是飞书通讯录中的基础资源,对应企业组织架构中的成员实体。

参考文档

函数列表

函数名称功能描述认证方式HTTP 方法
GetUserInfoByIdAsync获取用户信息用户令牌GET
GetUserByIdsAsync批量获取用户用户令牌GET
GetUserByDepartmentIdAsync获取部门直属用户用户令牌GET
UpdateUserAsync更新用户用户令牌PATCH
GetUsersByKeywordAsync搜索用户用户令牌GET
GetUserInfoAsync获取当前登录用户信息用户令牌GET

函数详细内容

获取用户信息

函数名称:获取用户信息

函数签名

csharp
Task<FeishuApiResult<GetUserInfoResult>?> GetUserInfoByIdAsync(
    [Path] string user_id,
    [Query("user_id_type")] string? user_id_type = Consts.User_Id_Type,
    [Query("department_id_type")] string? department_id_type = Consts.Department_Id_Type,
    CancellationToken cancellationToken = default);

认证:用户令牌

参数

参数名类型必填说明
user_idstring用户ID
user_id_typestring用户ID类型,默认 open_id
department_id_typestring部门ID类型,默认 open_department_id
cancellationTokenCancellationToken取消操作令牌

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "user": {
      "user_id": "ou_xxx",
      "name": "张三",
      "mobile": "+86-13800138000",
      "department_ids": ["od-xxx"]
    }
  }
}

说明:获取通讯录中某一用户的信息,包括用户ID、名称、邮箱、手机号、状态以及所属部门等信息。

代码示例

csharp
public class UserV3Service
{
    private readonly IFeishuUserV3User _userClient;

    public UserV3Service(IFeishuUserV3User userClient)
    {
        _userClient = userClient;
    }

    public async Task GetUserInfoAsync(string userId)
    {
        var result = await _userClient.GetUserInfoByIdAsync(userId);
        if (result?.Code == 0)
        {
            Console.WriteLine($"用户名: {result.Data?.User?.Name}");
        }
    }
}

批量获取用户

函数名称:批量获取用户

函数签名

csharp
Task<FeishuApiResult<GetUserInfosResult>?> GetUserByIdsAsync(
    [Query("user_ids")] string[] user_ids,
    [Query("user_id_type")] string? user_id_type = Consts.User_Id_Type,
    [Query("department_id_type")] string? department_id_type = Consts.Department_Id_Type,
    CancellationToken cancellationToken = default);

认证:用户令牌

参数

参数名类型必填说明
user_idsstring[]用户ID数组
user_id_typestring用户ID类型
department_id_typestring部门ID类型
cancellationTokenCancellationToken取消操作令牌

获取部门直属用户

函数名称:获取部门直属用户

函数签名

csharp
Task<FeishuApiResult<GetUserInfosResult>?> GetUserByDepartmentIdAsync(
    [Query("department_id")] string department_id,
    [Query("page_size")] int page_size = Consts.PageSize,
    [Query("page_token")] string? page_token = null,
    [Query("user_id_type")] string? user_id_type = Consts.User_Id_Type,
    [Query("department_id_type")] string? department_id_type = Consts.Department_Id_Type,
    CancellationToken cancellationToken = default);

认证:用户令牌

参数

参数名类型必填说明
department_idstring部门ID
page_sizeint分页大小,默认10
page_tokenstring分页标记
user_id_typestring用户ID类型
department_id_typestring部门ID类型
cancellationTokenCancellationToken取消操作令牌

更新用户

函数名称:更新用户

函数签名

csharp
Task<FeishuApiResult<CreateOrUpdateUserResult>?> UpdateUserAsync(
    [Path] string user_id,
    [Body] UpdateUserRequest userModel,
    [Query("user_id_type")] string? user_id_type = Consts.User_Id_Type,
    [Query("department_id_type")] string? department_id_type = Consts.Department_Id_Type,
    CancellationToken cancellationToken = default);

认证:用户令牌

参数

参数名类型必填说明
user_idstring用户ID
userModelUpdateUserRequest用于更新的用户请求体
user_id_typestring用户ID类型
department_id_typestring部门ID类型
cancellationTokenCancellationToken取消操作令牌

搜索用户

函数名称:搜索用户

函数签名

csharp
Task<FeishuApiResult<UserSearchListResult>?> GetUsersByKeywordAsync(
    [Query("query")] string query,
    [Query("page_size")] int? page_size = Consts.PageSize,
    [Query("page_token")] string? page_token = null,
    CancellationToken cancellationToken = default);

认证:用户令牌

参数

参数名类型必填说明
querystring搜索关键词
page_sizeint分页大小,默认10
page_tokenstring分页标记
cancellationTokenCancellationToken取消操作令牌

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "users": [
      {
        "user_id": "ou_xxx",
        "name": "张三",
        "avatar": "https://xxx.com/avatar.png"
      }
    ]
  }
}

说明:通过用户名关键词搜索其他用户的信息,包括用户头像、用户名、用户所在部门、用户user_id以及open_id。


获取当前登录用户信息

函数名称:获取当前登录用户信息

函数签名

csharp
Task<FeishuApiResult<GetUserDataResult>?> GetUserInfoAsync(CancellationToken cancellationToken = default);

认证:用户令牌

参数

参数名类型必填说明
cancellationTokenCancellationToken取消操作令牌

响应

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "user_id": "ou_xxx",
    "name": "张三",
    "email": "zhangsan@example.com"
  }
}

说明:通过 user_access_token 获取相关用户信息。

代码示例

csharp
public async Task GetCurrentUserInfoAsync()
{
    var result = await _userClient.GetUserInfoAsync();
    if (result?.Code == 0)
    {
        Console.WriteLine($"当前用户: {result.Data?.Name}");
    }
}