获取

描述

integer/array user.get(object parameters)

此方法用于根据给定的参数查询用户。

此方法适用于任何类型的用户。可在用户角色设置中撤销调用该方法的权限,参阅用户角色获取详情。

参数

(object) 定义所需输出的参数。

该方法支持以下参数。

请求用户媒介、权限或角色信息时,AdminUser 类型的用户只能检索其自身用户的数据。 示例请参见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 数据类型 的属性。

AdminUser 类型的用户请求其用户组内用户的数据时,可用的 用户对象 属性为:useridnamesurnameusername
output query 要返回的 用户对象 属性。

AdminUser 类型的用户只能检索以下属性:
- 对于其自身用户:useridattempt_clockattempt_failedattempt_ipautologinautologoutlangnameprovisionedrefreshroleidrows_per_pagesurnamethemetimezoneurlusername
- 对于其用户组中的用户:useridnamesurnameusername

默认值:extend
search object 返回与给定模式匹配的结果(不区分大小写)。

接受一个对象,其中键为属性名称,值为要搜索的字符串。如果未提供其他选项,将执行 LIKE "%…%" 搜索。

仅支持 stringtext 数据类型 的属性。

AdminUser 类型的用户请求其用户组内用户的数据时,可用的 用户对象 属性为:namesurnameusername
sortfield string/array 按给定属性对结果进行排序。

可能的值:useridusername
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.