获取
描述
integer/array user.get(object parameters)
此方法用于根据给定的参数查询用户。
此方法适用于任何类型的用户。可在用户角色设置中撤销调用该方法的权限,参阅用户角色获取详情。
参数
(object) 定义所需输出的参数。
该方法支持以下参数。
请求用户媒介、权限或角色信息时,Admin 和 User 类型的用户只能检索其自身用户的数据。 示例请参见以 Admin 身份检索用户。
| 参数 | 类型 | 描述 |
|---|---|---|
| mediaids | ID/array | 仅返回使用给定媒介的用户。 |
| mediatypeids | ID/array | 仅返回使用给定媒介类型的用户。 |
| userids | ID/array | 仅返回具有给定 ID 的用户。 |
| usrgrpids | ID/array | 仅返回属于给定用户组的用户。 |
| getAccess | flag | 添加有关用户权限的附加信息。 为每个用户添加以下属性: gui_access - (integer) 用户的前端认证方式。可能的值列表请参见用户组对象的 gui_access 属性。debug_mode - (integer) 指示是否为该用户启用调试。可能的值:0 - 禁用调试,1 - 启用调试。users_status - (integer) 指示该用户是否被禁用。可能的值:0 - 用户已启用,1 - 用户已禁用。 |
| selectMedias | query | 在 medias 属性中返回用户使用的媒介。 |
| selectMediatypes | query | 在 mediatypes 属性中返回用户使用的媒介类型。有关基于用户类型的限制,请参见 mediatype.get。 |
| selectUsrgrps | query | 在 usrgrps 属性中返回该用户所属的用户组。有关基于用户类型的限制,请参见 usergroup.get。 |
| selectRole | query | 在 role 属性中返回用户角色。 |
| filter | object | 仅返回与给定过滤条件完全匹配的结果。 接受一个对象,其中键为属性名称,值为单个值或用于匹配的值数组。 不支持 text 数据类型 的属性。当 Admin 和 User 类型的用户请求其用户组内用户的数据时,可用的 用户对象 属性为: userid、name、surname、username。 |
| output | query | 要返回的 用户对象 属性。 Admin 和 User 类型的用户只能检索以下属性: - 对于其自身用户: userid、attempt_clock、attempt_failed、attempt_ip、autologin、autologout、lang、name、provisioned、refresh、roleid、rows_per_page、surname、theme、timezone、url、username。- 对于其用户组中的用户: userid、name、surname、username。默认值: extend。 |
| search | object | 返回与给定模式匹配的结果(不区分大小写)。 接受一个对象,其中键为属性名称,值为要搜索的字符串。如果未提供其他选项,将执行 LIKE "%…%" 搜索。仅支持 string 和 text 数据类型 的属性。当 Admin 和 User 类型的用户请求其用户组内用户的数据时,可用的 用户对象 属性为: name、surname、username。 |
| sortfield | string/array | 按给定属性对结果进行排序。 可能的值: userid、username。 |
| countOutput | boolean | 这些参数在参考说明中进行了描述。 |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| preservekeys | boolean | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean |
返回值
(integer/array) 返回:
- 一个对象数组;
- 检索对象的计数(使用
countOutput参数时)。
示例
检索用户
检索所有已配置的用户。
请求:
{
"jsonrpc": "2.0",
"method": "user.get",
"params": {
"output": "extend"
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"userid": "1",
"username": "Admin",
"name": "Zabbix",
"surname": "Administrator",
"url": "",
"autologin": "1",
"autologout": "0",
"lang": "en_US",
"refresh": "0s",
"theme": "default",
"attempt_failed": "0",
"attempt_ip": "",
"attempt_clock": "0",
"rows_per_page": "50",
"timezone": "default",
"roleid": "3",
"userdirectoryid": "0",
"ts_provisioned": "0"
},
{
"userid": "2",
"username": "guest",
"name": "",
"surname": "",
"url": "",
"autologin": "0",
"autologout": "15m",
"lang": "default",
"refresh": "30s",
"theme": "default",
"attempt_failed": "0",
"attempt_ip": "",
"attempt_clock": "0",
"rows_per_page": "50",
"timezone": "default",
"roleid": "4",
"userdirectoryid": "0",
"ts_provisioned": "0"
},
{
"userid": "3",
"username": "user",
"name": "Zabbix",
"surname": "User",
"url": "",
"autologin": "0",
"autologout": "0",
"lang": "ru_RU",
"refresh": "15s",
"theme": "dark-theme",
"attempt_failed": "0",
"attempt_ip": "",
"attempt_clock": "0",
"rows_per_page": "100",
"timezone": "default",
"roleid": "1",
"userdirectoryid": "0",
"ts_provisioned": "0"
}
],
"id": 1
}
以 Admin 身份检索用户
作为 Admin 类型用户,可检索您自己的详细用户数据,以及您所在用户组中用户的有限数据。
请求:
{
"jsonrpc": "2.0",
"method": "user.get",
"params": {
"output": "extend",
"getAccess": true,
"selectMedias": "extend",
"selectMediatypes": "extend",
"selectUsrgrps": "extend",
"selectRole": "extend"
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"userid": "1",
"username": "Admin",
"name": "Zabbix",
"surname": "Administrator",
"usrgrps": [
{
"usrgrpid": "7",
"name": "Zabbix administrators",
"gui_access": "0",
"users_status": "0",
"debug_mode": "0",
"mfa_status": "0"
}
]
},
{
"userid": "3",
"username": "database-admin",
"name": "John",
"surname": "Doe",
"url": "",
"autologin": "0",
"autologout": "0",
"lang": "default",
"refresh": "30s",
"theme": "default",
"attempt_failed": "0",
"attempt_ip": "",
"attempt_clock": "0",
"rows_per_page": "50",
"timezone": "default",
"roleid": "2",
"provisioned": "0",
"gui_access": "0",
"debug_mode": "0",
"users_status": "0",
"usrgrps": [
{
"usrgrpid": "7",
"name": "Zabbix administrators",
"gui_access": "0",
"users_status": "0",
"debug_mode": "0",
"mfa_status": "0"
}
],
"medias": [
{
"mediaid": "2",
"mediatypeid": "1",
"sendto": [
"[email protected]"
],
"active": "0",
"severity": "63",
"period": "1-7,00:00-24:00",
"provisioned": 0
}
],
"mediatypes": [
{
"mediatypeid": "1",
"type": "0",
"name": "Email",
"status": "0",
"description": "",
"maxattempts": "3"
}
],
"role": {
"roleid": "2",
"name": "Admin role",
"type": "2",
"readonly": "0"
}
}
],
"id": 1
}
查询用户数据
查询用户ID是"12"的用户数据。
请求:
{
"jsonrpc": "2.0",
"method": "user.get",
"params": {
"output": ["userid", "username"],
"selectRole": "extend",
"userids": "12"
},
"id": 1
}
响应:
{
"jsonrpc": "2.0",
"result": [
{
"userid": "12",
"username": "John",
"role": {
"roleid": "5",
"name": "Operator",
"type": "1",
"readonly": "0"
}
}
],
"id": 1
}
另请参阅
来源
CUser::get() in ui/include/classes/api/services/CUser.php.