ArkID Client 集成之前所述的所有客户端(除认证客户端以外)的功能, 为用户提供统一的接口来访问 ArkID 的服务
arkid_client.client.
ArkIDClient
(base_url, authorizer=None, *args, **kwargs)[源代码]¶由各种 ArkID 客户端集成而生, 他提供的所有功能都只是各个客户端的简单封装, 用来一致对外界用户使用;默认加载的为 user 相关服务接口 当然,如果您足够熟悉本项目, 您也可以直接实例化所需要的指定客户端。
Methods
query_user()
query_isolated_user()
query_user()
create_user()
update_user()
delete_user()
query_specified_perm()
query_own_org()
query_org()
create_org()
delete_org()
update_org()
query_orguser()
add_orguser()
delete_orguser()
query_orguser()
update_orguser()
get_org_invitation_key()
refresh_org_invitation_key()
view_org_by_invitation_key()
join_org_by_invitation_key()
query_node()
view_node()
update_node()
delete_node()
get_node_tree_list()
get_node_tree()
view_node_tree()
get_subnode()
create_subnode()
add_subnode()
sort_subnode()
query_user_under_node()
add_user_under_node()
delete_user_under_node()
override_user_under_node()
sort_user_under_node()
move_out_user_under_node()
view_perm()
view_profile()
view_current_org()
switch_current_org()
query_apps()
get_sms_captcha()
verify_sms_captcha()
query_all_perm()
create_perm()
query_perm()
update_perm()
query_perm_owner()
update_perm_owner()
query_specified_user_perm()
update_specified_user_perm()
query_dept_perm()
update_dept_perm()
query_group_perm()
update_group_perm()
query_node_perm()
update_node_perm()
query_app_list()
create_app()
query_app()
update_app()
delete_app()
register_app()
query_user_list
(**kwargs)¶获取用户信息列表
(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
(**kwargs)¶获取所有独立用户
(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
(**kwargs)¶获取指定用户的信息
(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
(**kwargs)¶创建用户(需要管理员权限)
(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
(**kwargs)¶修改指定用户的信息
(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
(**kwargs)¶删除指定用户的信息
(DELETE /siteapi/v1/user/<username>/
)
Parameters:
username
(str)- 用户唯一标识
Examples
>>> uc = arkid_client.UserClient(...)
>>> uc.delete_user(username)
query_specified_perm
(**kwargs)¶获取用户权限详情,包括权限来源
(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)
query_own_org
(**kwargs)¶查询用户所在的组织
(GET /siteapi/v1/org/
)
Parameters:
role
(str)- 在组织内的角色
Examples
>>> oc = arkid_client.OrgClient(...)
>>> orgs = oc.query_own_org(role='admin')
>>> for org in orgs:
>>> print(org['oid'], 'name: '
>>> ,org['name'])
query_org
(**kwargs)¶查看指定组织的信息
(GET /siteapi/v1/org/<oid>/
)
Parameters:
oid
(str)- 组织的唯一标识
Examples
>>> oc = arkid_client.OrgClient(...)
>>> org = oc.query_org(oid)
>>> print(org['oid'], 'name: '
>>> ,org['name'])
create_org
(**kwargs)¶创建组织
(POST /siteapi/v1/org/
)
Parameters:
json_body
(dict)- 组织的元信息, 参数详情请参考接口文档
Examples
>>> oc = arkid_client.OrgClient(...)
>>> org_data = {
>>> "name": "example",
>>> }
>>> org = oc.create_org(org_data)
>>> print(org['oid'], 'name: '
>>> ,org['name'])
External Documentation
关于 组织的元数据 详情请参阅API文档。
delete_org
(**kwargs)¶删除指定组织的信息
(DELETE /siteapi/v1/org/<oid>/
)
Parameters:
oid
(str)- 组织的唯一标识
Examples
>>> oc = arkid_client.OrgClient(...)
>>> oc.delete_org(oid)
update_org
(**kwargs)¶修改指定组织的信息
(PATCH /siteapi/v1/org/<oid>/
)
Parameters:
oid
(str)- 组织的唯一标识
json_body
(dict)- 组织的元信息, 参数详情请参考接口文档
Examples
>>> oc = arkid_client.OrgClient(...)
>>> org_data = {
>>> "name": "example",
>>> }
>>> org = oc.update_org(oid, org_data)
>>> print(org['oid'], 'name: '
>>> ,org['name'])
External Documentation
关于 组织的元数据 详情请参阅API文档。
query_orguser_list
(**kwargs)¶查看特定组织的成员信息
(GET /siteapi/v1/org/<oid>/user/
)
Parameters:
oid
(str)- 组织的唯一标识
page
(int)- 用于分页,Default: 1
page_size
(int)- 指定分页大小,Default: 30
Examples
>>> oc = arkid_client.OrgClient(...)
>>> org = oc.query_orguser_list(oid)
>>> print(org['oid'], 'name: '
>>> ,org['name'])
add_orguser
(**kwargs)¶向指定组织中添加成员
(PATCH /siteapi/v1/org/<oid>/user/
)
Parameters:
oid
(str)- 组织的唯一标识
usernames
(list)- 用户的唯一标识组成的列表
Examples
>>> oc = arkid_client.OrgClient(...)
>>> usernames = [
>>> 'username1',
>>> 'username2',
>>> ...
>>> 'usernamen'
>>> ]
>>> org = oc.add_orguser(oid, usernames)
>>> print(org['oid'], 'name: '
>>> ,org['name'])
delete_orguser
(**kwargs)¶从指定组织中移除成员
(PATCH /siteapi/v1/org/<oid>/user/
)
Parameters:
oid
(str)- 组织的唯一标识
usernames
(list)- 用户的唯一标识组成的列表
Examples
>>> oc = arkid_client.OrgClient(...)
>>> usernames = [
>>> 'username1',
>>> 'username2',
>>> ...
>>> 'usernamen'
>>> ]
>>> org = oc.delete_orguser(oid, usernames)
>>> print(org['oid'], 'name: '
>>> ,org['name'])
query_orguser
(**kwargs)¶查看指定组织的指定成员的信息
(GET /siteapi/v1/org/<oid>/user/<username>/
)
Parameters:
oid
(str)- 组织的唯一标识
username
(str)- 用户唯一标识
Examples
>>> oc = arkid_client.OrgClient(...)
>>> user = oc.query_orguser(oid, username)
>>> print('user is', user)
update_orguser
(**kwargs)¶编辑指定组织的指定成员的信息
(PATCH /siteapi/v1/org/<oid>/user/<username>/
)
Parameters:
oid
(str)- 组织的唯一标识
username
(str)- 用户唯一标识
json_body
(dict)
- 成员邮箱
employee_number
(str)- 成员工号
position
(str)- 成员职位
hiredate
(str)- 成员雇佣日期
remark
(str)- 成员备注
Examples
>>> oc = arkid_client.OrgClient(...)
>>> user_data = {
>>> "email": "example@org.com",
>>> }
>>> user = oc.update_orguser(oid, username, user_data)
>>> print(user['id'], 'name: '
>>> ,user['name'])
External Documentation
关于 成员的元数据 详情请参阅API文档。
get_org_invitation_key
(**kwargs)¶获取指定组织邀请用的最新的密钥
(GET /siteapi/v1/org/<oid>/invitation/
)
Parameters:
oid
(str)- 组织的唯一标识
Examples
>>> oc = arkid_client.OrgClient(...)
>>> key = oc.get_org_invitation_key(oid)
>>> print('key: ', key)
refresh_org_invitation_key
(**kwargs)¶刷新指定组织邀请用的最新的密钥
(PUT /siteapi/v1/org/<oid>/invitation/
)
Parameters:
oid
(str)- 组织的唯一标识
Examples
>>> oc = arkid_client.OrgClient(...)
>>> key = oc.refresh_org_invitation_key(oid)
>>> print('key: ', key)
view_org_by_invitation_key
(**kwargs)¶使用邀请密钥查看指定组织的信息
(GET /siteapi/v1/org/<oid>/invitation/<invite_link_key>/
)
Parameters:
oid
(str)- 组织的唯一标识
invite_link_key
(str)- 组织邀请密钥
Examples
>>> oc = arkid_client.OrgClient(...)
>>> org = oc.view_org_by_invitation_key(oid, invite_link_key)
>>> print('org: ', org)
join_org_by_invitation_key
(**kwargs)¶使用邀请密钥加入指定组织
(POST /siteapi/v1/org/<oid>/invitation/<invite_link_key>/
)
Parameters:
oid
(str)- 组织的唯一标识
invite_link_key
(str)- 组织邀请密钥
Examples
>>> oc = arkid_client.OrgClient(...)
>>> org = oc.join_org_by_invitation_key(oid, invite_link_key)
>>> print('org: ', org)
query_node
(**kwargs)¶查询指定节点的信息
(GET /siteapi/v1/node/<node_uid>/
)
Parameters:
node_uid
(str)- 节点的唯一标识
Examples
>>> nc = arkid_client.NodeClient(...)
>>> node = nc.query_node(node_uid)
>>> print('node is', node)
view_node
(**kwargs)¶用户查询指定节点的信息
(GET /siteapi/v1/ucenter/node/<node_uid>/
)
Parameters:
node_uid
(str)- 节点的唯一标识
Examples
>>> nc = arkid_client.NodeClient(...)
>>> node = nc.view_node(node_uid)
>>> print('node is', node)
update_node
(**kwargs)¶修改指定节点的信息
(PATCH /siteapi/v1/node/<node_uid>/
)
Parameters:
node_uid
(str)- 节点的唯一标识
json_body
(dict)- 节点的元信息, 参数详情请参考接口文档
Examples
>>> nc = arkid_client.NodeClient(...)
>>> node_data = {
>>> 'name': 'example'
>>> }
>>> node = nc.update_node(node_uid, node_data)
>>> print('node is', node)
External Documentation
关于 节点的元数据 详情请参阅API文档。
delete_node
(**kwargs)¶删除指定节点的信息
(DELETE /siteapi/v1/node/<node_uid>/
)
Parameters:
node_uid
(str)- 节点的唯一标识
ignore_user
(bool)- 用于删除节点,当``true``时,若节点下有人员存在时, 会先将人员从节点内删除,再删除此节点。
Examples self.logger.info(“正在调用 NodeClient.delete_node() 接口与 ArkID 服务端进行交互”) >>> nc = arkid_client.NodeClient(…) >>> nc.delete_node(node_uid, ignore_user=True)
get_node_tree_list
(**kwargs)¶需要管理员权限,获取节点及其子孙节点列表,将某节点下
的子树以列表形式返回,包括该节点自身,前序遍历。
(GET /siteapi/v1/node/<node_uid>/list/
)
Parameters:
node_uid
(str)- 节点的唯一标识
Examples
>>> nc = arkid_client.NodeClient(...)
>>> tree_list = nc.get_node_tree_list(node_uid)
>>> print('tree_list is', tree_list)
get_node_tree
(**kwargs)¶需要管理员权限,管理员访问到的数据将由管理范围决定,
数据包括从该节点起始的完整树。
(GET /siteapi/v1/node/<node_uid>/tree/
)
Parameters:
node_uid
(str)- 节点的唯一标识
user_required
(bool)- 是否需要成员信息
Examples
>>> nc = arkid_client.NodeClient(...)
>>> tree = nc.get_node_tree(node_uid, user_required=True)
>>> print('tree is', tree)
view_node_tree
(**kwargs)¶普通用户访问节点下结构,访问到的数据将由节点可见范围决定,
数据包括从该节点起始的完整树。
(GET /siteapi/v1/ucenter/node/<node_uid>/tree/
)
Parameters:
node_uid
(str)- 节点的唯一标识
user_required
(bool)- 是否需要成员信息
Examples
>>> nc = arkid_client.NodeClient(...)
>>> tree = nc.view_node_tree(node_uid, user_required=True)
>>> print('tree is', tree)
get_subnode
(**kwargs)¶获取指定节点的子节点信息
(GET /siteapi/v1/node/<node_uid>/node/
)
Parameters:
node_uid
(str)- 节点的唯一标识
Examples
>>> nc = arkid_client.NodeClient(...)
>>> subnode = nc.get_subnode(node_uid)
>>> print('subnode is', subnode)
create_subnode
(**kwargs)¶创建指定节点的子节点
(POST /siteapi/v1/node/<node_uid>/node/
)
Parameters:
node_uid
(str)- 节点的唯一标识
json_body
(dict)- 节点的元信息, 参数详情请参考接口文档
Examples
>>> nc = arkid_client.NodeClient(...)
>>> node_data = {
>>> 'name': 'example'
>>> }
>>> subnode = nc.create_subnode(node_uid, node_data)
>>> print('subnode is', subnode)
External Documentation
关于 节点的元数据 详情请参阅API文档。
add_subnode
(**kwargs)¶向指定节点添加子节点
(PATCH /siteapi/v1/node/<node_uid>/node/
)
Parameters:
node_uid
(str)- 节点的唯一标识
node_uids
(list)- 节点唯一标识组成的列表
Examples
>>> nc = arkid_client.NodeClient(...)
>>> node_uids = [
>>> 'node1',
>>> 'node2',
>>> ...
>>> 'noden'
>>> ]
>>> node = nc.add_subnode(node_uid, node_uids)
>>> print('node is', node)
sort_subnode
(**kwargs)¶对指定子节点按指定位置进行排序
(PATCH /siteapi/v1/node/<node_uid>/node/
)
Parameters:
node_uid
(str)- 节点的唯一标识
node_uids
(list)- 节点唯一标识组成的列表
Examples
>>> nc = arkid_client.NodeClient(...)
>>> node_uids = [
>>> 'node1',
>>> 'node2',
>>> ...
>>> 'noden'
>>> ]
>>> node = nc.sort_subnode(node_uid, node_uids)
>>> print('node is', node)
query_user_under_node
(**kwargs)¶查询指定节点下的直属人员的信息
(GET /siteapi/v1/node/<node_uid>/user/
)
Parameters:
node_uid
(str)- 节点的唯一标识
**params
(dict)- 用户的元信息,参数详情请参考接口文档
Examples
>>> nc = arkid_client.NodeClient(...)
>>> users = nc.query_user_under_node(node_uid)
>>> for user in users:
>>> print('user is', user)
External Documentation
关于 节点的元数据 详情请参阅API文档。
add_user_under_node
(**kwargs)¶向指定节点添加指定成员
(PATCH /siteapi/v1/node/<node_uid>/user/
)
Parameters:
node_uid
(str)- 节点的唯一标识
user_uids
(list)- 用户唯一标识组成的列表
Examples
>>> nc = arkid_client.NodeClient(...)
>>> user_uids = [
>>> 'user1',
>>> 'user2',
>>> ...
>>> 'usern'
>>> ]
>>> node = nc.add_user_under_node(node_uid, user_uids)
>>> print('node is', node)
delete_user_under_node
(**kwargs)¶从指定节点移除指定成员
(PATCH /siteapi/v1/node/<node_uid>/user/
)
Parameters:
node_uid
(str)- 节点的唯一标识
user_uids
(list)- 用户唯一标识组成的列表
Examples
>>> nc = arkid_client.NodeClient(...)
>>> user_uids = [
>>> 'user1',
>>> 'user2',
>>> ...
>>> 'usern'
>>> ]
>>> node = nc.delete_user_under_node(node_uid, user_uids)
>>> print('node is', node)
sort_user_under_node
(**kwargs)¶对指定人按指定位置进行排序
(PATCH /siteapi/v1/node/<node_uid>/user/
)
Parameters:
node_uid
(str)- 节点的唯一标识
user_uids
(list)- 用户唯一标识组成的列表
Examples
>>> nc = arkid_client.NodeClient(...)
>>> user_uids = [
>>> 'user1',
>>> 'user2',
>>> ...
>>> 'usern'
>>> ]
>>> node = nc.sort_user_under_node(node_uid, user_uids)
>>> print('node is', node)
override_user_under_node
(**kwargs)¶重置指定节点的指定用户
(PATCH /siteapi/v1/node/<node_uid>/user/
)
Parameters:
node_uid
(str)- 节点的唯一标识
user_uids
(list)- 用户唯一标识组成的列表
Examples
>>> nc = arkid_client.NodeClient(...)
>>> user_uids = [
>>> 'user1',
>>> 'user2',
>>> ...
>>> 'usern'
>>> ]
>>> node = nc.override_user_under_node(node_uid, user_uids)
>>> print('node is', node)
move_out_user_under_node
(**kwargs)¶将这些人从该节点移除,并加到指定节点
(PATCH /siteapi/v1/node/<node_uid>/user/
)
Parameters:
node_uid
(str)- 节点的唯一标识
user_uids
(list)- 用户唯一标识组成的列表
Examples
>>> nc = arkid_client.NodeClient(...)
>>> user_uids = [
>>> 'user1',
>>> 'user2',
>>> ...
>>> 'usern'
>>> ]
>>> node = nc.move_out_user_under_node(node_uid, user_uids)
>>> print('node is', node)