users
feishu.contact.users
¶
UserNamespace
¶
Bases: Namespace
用户接口命名空间。
通过 client.contact.users 访问,封装飞书通讯录中用户相关的服务端接口,包括查询、批量查询、
创建、更新与删除用户等能力。读取方法返回飞书原始数据体;如需规整结构,可由调用方显式套用
feishu.contact.normalize.normalize_user。
通常无需直接实例化,应通过 client.contact.users 访问。
飞书文档
源代码位于: feishu/contact/users.py
| Python | |
|---|---|
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 | |
batch_get
async
¶
batch_get(user_ids: Iterable[str], *, user_id_type: str = 'open_id', department_id_type: str = 'open_department_id') -> list[NestedDict]
通过用户 ID 批量获取用户信息。
user_ids 按 user_id_type 解释(open_id / union_id / user_id),作为重复的查询参数发送。
飞书限制单次请求最多 50 个 ID,超过时直接抛出 ValueError 而不发起注定失败的请求。各字段是否被
填充取决于应用所申请的数据权限(邮箱、手机号、部门、员工信息等字段级权限)。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
Iterable[str]
|
用户 ID 列表,单次最多 50 个。 |
必需 |
|
str
|
用户 ID 类型,可选 |
'open_id'
|
|
str
|
部门 ID 类型,可选 |
'open_department_id'
|
返回:
| 类型 | 描述 |
|---|---|
list[NestedDict]
|
飞书原始用户对象列表( |
list[NestedDict]
|
引发:
| 类型 | 描述 |
|---|---|
ValueError
|
当传入的用户 ID 超过 50 个时抛出。 |
FeishuError
|
请求失败或返回错误码时抛出。 |
飞书文档
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/contact/users.py
batch_get_ids
async
¶
batch_get_ids(*, emails: list[str] | None = None, mobiles: list[str] | None = None, include_resigned: bool = False) -> NestedDict
通过邮箱或手机号批量查询用户 ID。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
list[str] | None
|
待查询的邮箱列表。默认为 |
None
|
|
list[str] | None
|
待查询的手机号列表。默认为 |
None
|
|
bool
|
是否在结果中包含离职用户。默认为 |
False
|
返回:
| 类型 | 描述 |
|---|---|
NestedDict
|
飞书返回的 |
引发:
| 类型 | 描述 |
|---|---|
FeishuError
|
请求失败或返回错误码时抛出。 |
飞书文档
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/contact/users.py
create
async
¶
create(user: dict[str, Any], *, user_id_type: str | None = None, department_id_type: str | None = None) -> NestedDict
创建用户。
将 user 作为请求体发送至创建用户接口。仅在显式传入时附带 user_id_type /
department_id_type 查询参数,未设置时省略。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
dict[str, Any]
|
用户数据,作为请求体发送。 |
必需 |
|
str | None
|
用户 ID 类型,可选 |
None
|
|
str | None
|
部门 ID 类型,可选 |
None
|
返回:
| 类型 | 描述 |
|---|---|
NestedDict
|
飞书返回的 |
引发:
| 类型 | 描述 |
|---|---|
FeishuError
|
请求失败或返回错误码时抛出。 |
飞书文档
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/contact/users.py
delete
async
¶
delete(user_id: str, *, user_id_type: str | None = None) -> NestedDict
删除用户(离职)。
仅在显式传入时附带 user_id_type 查询参数,未设置时省略。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
用户 ID。 |
必需 |
|
str | None
|
用户 ID 类型,可选 |
None
|
返回:
| 类型 | 描述 |
|---|---|
NestedDict
|
飞书返回的 |
引发:
| 类型 | 描述 |
|---|---|
FeishuError
|
请求失败或返回错误码时抛出。 |
飞书文档
示例:
源代码位于: feishu/contact/users.py
get
async
¶
get(user_id: str, *, user_id_type: str = 'open_id', department_id_type: str = 'open_department_id') -> NestedDict
获取单个用户信息。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
用户 ID。 |
必需 |
|
str
|
用户 ID 类型,可选 |
'open_id'
|
|
str
|
部门 ID 类型,可选 |
'open_department_id'
|
返回:
| 类型 | 描述 |
|---|---|
NestedDict
|
飞书返回的 |
NestedDict
|
引发:
| 类型 | 描述 |
|---|---|
FeishuError
|
请求失败或返回错误码时抛出。 |
飞书文档
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/contact/users.py
list
async
¶
list(department_id: str = '0', *, user_id_type: str = 'open_id', department_id_type: str = 'open_department_id', page_size: int = 50, max_items: int | None = None) -> list[NestedDict]
获取部门下的用户列表。
基于 find_by_department 接口自动翻页并将每一页的原始结果汇总返回。单次请求的 page_size 受
飞书限制,超过 50 时会被收敛为 50。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
部门 ID。默认为 |
'0'
|
|
str
|
用户 ID 类型,可选 |
'open_id'
|
|
str
|
部门 ID 类型,可选 |
'open_department_id'
|
|
int
|
每页数量,最大为 50。默认为 50。 |
50
|
|
int | None
|
最多返回的用户数量, |
None
|
返回:
| 类型 | 描述 |
|---|---|
list[NestedDict]
|
飞书原始用户对象列表。如需规整结构,可对每项套用 |
list[NestedDict]
|
引发:
| 类型 | 描述 |
|---|---|
FeishuError
|
请求失败或返回错误码时抛出。 |
飞书文档
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/contact/users.py
search
async
¶
按关键词搜索用户。
在调用方所在组织内按 query 搜索用户并自动翻页汇总结果,无法搜索组织外用户或离职用户。
该接口仅支持以 user_access_token 调用。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
搜索关键词。 |
必需 |
|
int
|
每页数量。默认为 20;超过 [feishu.consts.MAX_PAGE_SIZE][] 时由客户端收敛。 |
20
|
|
int | None
|
最多返回的用户数量, |
None
|
返回:
| 类型 | 描述 |
|---|---|
list[NestedDict]
|
飞书原始用户对象列表( |
list[NestedDict]
|
无匹配时返回空列表。 |
引发:
| 类型 | 描述 |
|---|---|
FeishuError
|
请求失败或返回错误码时抛出。 |
飞书文档
示例:
| Python Console Session | |
|---|---|
源代码位于: feishu/contact/users.py
update
async
¶
update(user_id: str, user: dict[str, Any], *, user_id_type: str | None = None, department_id_type: str | None = None) -> NestedDict
更新用户信息。
以 PATCH 方式将 user 作为请求体发送至更新用户接口,仅更新传入的字段。仅在显式传入时附带
user_id_type / department_id_type 查询参数,未设置时省略。
参数:
| 名称 | 类型 | 描述 | 默认 |
|---|---|---|---|
|
str
|
用户 ID。 |
必需 |
|
dict[str, Any]
|
待更新的用户字段,作为请求体发送。 |
必需 |
|
str | None
|
用户 ID 类型,可选 |
None
|
|
str | None
|
部门 ID 类型,可选 |
None
|
返回:
| 类型 | 描述 |
|---|---|
NestedDict
|
飞书返回的 |
引发:
| 类型 | 描述 |
|---|---|
FeishuError
|
请求失败或返回错误码时抛出。 |
飞书文档
示例:
| Python Console Session | |
|---|---|