用户服务客户端

class arkid_client.user.UserClient(base_url, authorizer=None, **kwargs)[源代码]

基类:arkid_client.base.BaseClient

用户管理客户端, 用于与 ArkID 服务端用户管理相关接口的访问操作。

Methods

query_user_list(**params)[源代码]

获取用户信息列表 (GET /siteapi/v1/user/)

Parameters:

keyword (str)
查询关键字,进行用户名、姓名、邮箱、手机号模糊搜索
wechat_unionid (str)
微信客户端 openid
page (int)
用于分页,Default: 1
page_size (int)
指定分页大小,Default: 30

Examples

>>> uc = arkid_client.UserClient(...)
>>> users = uc.query_user(...)
>>> for user in users:
>>>     print(user['username'], 'id: '
>>>           ,user['id'])

External Documentation

关于 用户的元数据 详情请参阅API文档。

query_isolated_user(**params)[源代码]

获取所有独立用户 (GET /siteapi/v1/user/isolated/)

Parameters:

page (int)
用于分页,Default: 1
page_size (int)
指定分页大小,Default: 30

Examples

>>> uc = arkid_client.UserClient(...)
>>> users = uc.query_isolated_user(...)
>>> for user in users:
>>>     print(user['username'], 'id: '
>>>           ,user['id'])
query_user(username: str)[源代码]

获取指定用户的信息 (GET /siteapi/v1/user/<username>/)

Parameters:

username (str)
用户唯一标识

Examples

>>> uc = arkid_client.UserClient(...)
>>> user = uc.query_user(...)
>>> print(user['username'], 'id: '
>>>       ,user['id'])
create_user(json_body: dict)[源代码]

创建用户(需要管理员权限) (POST /siteapi/v1/user/)

Parameters:

json_body (dict)

group_uids (list[str])
用户组 uuid 的集合
dept_uids (list[str])
部门 uuid 的集合
user (dict)
用户的元信息, 参数详情请参考接口文档
node_uids (list[str])
(可选的)此字段提供时会忽略 group_uids, dept_uids

Examples

>>> uc = arkid_client.UserClient(...)
>>> user_data = {
>>>   "user": {
>>>     "password": "example",
>>>     "username": "example"
>>>     }
>>> }
>>> user = uc.create_user(user_data)
>>> print(user['username'], 'id: '
>>>           ,user['id'])

External Documentation

关于 用户的元数据 详情请参阅API文档。

update_user(username: str, json_body: dict)[源代码]

修改指定用户的信息 (PATCH /siteapi/v1/user/<username>)

Parameters:

username (str)
用户唯一标识
json_body (dict)
用户的元信息, 参数详情请参考接口文档

Examples

>>> uc = arkid_client.UserClient(...)
>>> query_data = {
>>>   "password": "example",
>>>   "private_email": "example@org.com"
>>> }
>>> user = uc.update_user(username, query_data)
>>> print(user['username'], 'id: '
>>>           ,user['id'])

External Documentation

关于 用户的元数据 详情请参阅API文档。

delete_user(username: str)[源代码]

删除指定用户的信息 (DELETE /siteapi/v1/user/<username>/)

Parameters:

username (str)
用户唯一标识

Examples

>>> uc = arkid_client.UserClient(...)
>>> uc.delete_user(username)
query_specified_perm(username: str, uid: str)[源代码]

获取用户权限详情,包括权限来源 (GET /siteapi/v1/user/<username>/perm/<uid>/)

Parameters:

username (str)
用户唯一标识
uid (str)
权限唯一标识

Examples

>>> pc = arkid_client.UserClient(...)
>>> perm = pc.query_specified_perm(...)
>>> print('perm is', perm)