[comment]: # ({2485e0f7-2485e0f7})
# user.get

[comment]: # ({/2485e0f7-2485e0f7})

[comment]: # ({36f89e39-36f89e39})
### 描述

`integer/array user.get(object parameters)`

该方法允许根据给定参数检索用户。

::: noteclassic
此方法可供任何类型的用户使用。调用该方法的权限可以在用户角色设置中撤销。更多信息请参阅[User
roles](/manual/web_interface/frontend_sections/administration/user_roles)。

:::

[comment]: # ({/36f89e39-36f89e39})

[comment]: # ({20c463b6-888512e9})
### 参数

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

该方法支持以下参数。

::: noteclassic
自Zabbix 6.0.38起，当请求用户媒介、权限或角色信息时，*Admin*和*User*类型用户只能检索其自身用户的数据。
示例参见[以*Admin*身份检索用户](#retrieving-users-as-admin)。

:::

| 参数 | [数据类型](/manual/api/reference_commentary#数据类型) | 描述 |
|--|--|------|
| mediaids | string/array | 仅返回使用指定媒介的用户。 |
| mediatypeids | string/array | 仅返回使用指定媒介类型的用户。 |
| userids | string/array | 仅返回具有指定ID的用户。 |
| usrgrpids | string/array | 仅返回属于指定用户组的用户。 |
| getAccess | flag | 添加关于用户权限的额外信息。<br><br>为每个用户添加以下属性：<br>`gui_access` - *(integer)* 用户的前端认证方法。参考[用户组](/manual/api/reference/usergroup/object#用户组)的`gui_access`属性获取可能值列表。<br>`debug_mode` - *(integer)* 表示是否为用户启用调试。可能值：0 - 调试禁用，1 - 调试启用。<br>`users_status` - *(integer)* 表示用户是否被禁用。可能值：0 - 用户启用，1 - 用户禁用。 |
| selectMedias | query | 在[媒介](/manual/api/reference/user/object#媒介)属性中返回用户使用的媒介。 |
| selectMediatypes | query | 在[mediatypes](/manual/api/reference/mediatype/object)属性中返回用户使用的媒介类型。 |
| selectUsrgrps | query | 在[usrgrps](/manual/api/reference/usergroup/object)属性中返回用户所属的用户组。<br><br>基于用户类型的限制参见[`usergroup.get`](/manual/api/reference/usergroup/get)。 |
| selectRole | query | 在[角色](/manual/api/reference/role/object#角色)属性中返回用户角色。 |
| filter | object | 仅返回与给定筛选条件完全匹配的结果。<br><br>接受一个object，其中键为属性名，值为单个值或用于匹配的array。<br><br>不支持`text`类型的[数据类型](/manual/api/reference_commentary#数据类型)属性。<br><br>*Admin*和*User*类型用户在请求其用户组内用户数据时的可能[User object](/manual/api/reference/user/object)属性（自Zabbix 6.0.38起）：`userid`, `name`, `surname`, `username`。 |
| output | query | 要返回的[User object](/manual/api/reference/user/object)属性。<br><br>自Zabbix 6.0.38起，*Admin*和*User*类型用户只能检索以下属性：<br>- 对于自身用户：`userid`, `attempt_clock`, `attempt_failed`, `attempt_ip`, `autologin`, `autologout`, `lang`, `name`, `refresh`, `roleid`, `rows_per_page`, `surname`, `theme`, `timezone`, `url`, `username`。<br>- 对于其用户组内的用户：`userid`, `name`, `surname`, `username`。<br><br>默认值：`extend`。 |
| search | object | 返回与给定模式匹配的结果（不区分大小写）。<br><br>接受一个object，其中键为属性名，值为要搜索的字符串。如果未指定额外选项，将执行`LIKE "%…%"`搜索。<br><br>仅支持`string`和`text`类型的[数据类型](/manual/api/reference_commentary#数据类型)属性。<br><br>*Admin*和*User*类型用户在请求其用户组内用户数据时的可能[User object](/manual/api/reference/user/object)属性（自Zabbix 6.0.38起）：`name`, `surname`, `username`。 |
| sortfield | string/array | 按给定属性排序结果。<br><br>可能值为：`userid`和`username`。 |
| countOutput | boolean | 这些参数在[通用get方法参数](/manual/api/reference_commentary#通用get方法参数)中描述。 |
| editable | boolean | ^           |
| excludeSearch | boolean | ^           |
| limit | integer | ^           |
| preservekeys | boolean | ^           |
| searchByAny | boolean | ^           |
| searchWildcardsEnabled | boolean | ^           |
| sortorder | string/array | ^           |
| startSearch | boolean | ^           |

[comment]: # ({/20c463b6-888512e9})

[comment]: # ({7223bab1-7223bab1})
### 返回值

`(integer/array)` 返回以下两种结果之一:

- 一个包含array的objects数组
- 检索到的objects数量（当使用了`countOutput`参数时）

[comment]: # ({/7223bab1-7223bab1})

[comment]: # ({b41637d2-b41637d2})
### 示例

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({849a0a1c-7b5c610b})
#### 检索用户

获取所有已配置的用户。

请求:

```json
{
    "jsonrpc": "2.0",
    "method": "user.get",
    "params": {
        "output": "extend"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```
响应:

```json
{
    "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"
        },
        {
            "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"
        },
        {
            "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"
        }
    ],
    "id": 1
}
```

[comment]: # ({/849a0a1c-7b5c610b})

[comment]: # ({64a9cfa2-746d14f7})
#### 以*管理员*身份检索用户

作为*管理员*类型用户，获取您自身用户的详细数据以及您所属用户组中其他用户的有限数据。

请求:

```json
{
    "jsonrpc": "2.0",
    "method": "user.get",
    "params": {
        "output": "extend",
        "getAccess": true,
        "selectMedias": "extend",
        "selectMediatypes": "extend",
        "selectUsrgrps": "extend",
        "selectRole": "extend"
    },
    "id": 1
}
```
响应:

```json
{
    "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"
                }
            ]
        },
        {
            "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",
            "gui_access": "0",
            "debug_mode": "0",
            "users_status": "0",
            "usrgrps": [
                {
                    "usrgrpid": "7",
                    "name": "Zabbix administrators",
                    "gui_access": "0",
                    "users_status": "0",
                    "debug_mode": "0"
                }
            ],
            "medias": [
                {
                    "mediaid": "2",
                    "userid": "3",
                    "mediatypeid": "1",
                    "sendto": [
                        "john.doe@example.com"
                    ],
                    "active": "0",
                    "severity": "63",
                    "period": "1-7,00:00-24:00"
                }
            ],
            "mediatypes": [
                {
                    "mediatypeid": "1",
                    "type": "0",
                    "name": "Email",
                    "status": "0",
                    "description": "",
                    "maxattempts": "3"
                }
            ],
            "role": {
                "roleid": "2",
                "name": "Admin role",
                "type": "2",
                "readonly": "0"
            }
        }
    ],
    "id": 1
}
```

[comment]: # ({/64a9cfa2-746d14f7})

[comment]: # ({b2b58125-d85f9654})
#### 获取用户数据

获取ID为"12"的用户数据。

请求:

```json
{
    "jsonrpc": "2.0",
    "method": "user.get",
    "params": {
        "output": ["userid", "username"],
        "selectRole": "extend",
        "userids": "12"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```
响应:

```{.java}
{
  "jsonrpc": "2.0",
  "result": [
      {
          "userid": "12",
          "username": "John",
          "role": {
              "roleid": "5",
              "name": "Operator",
              "type": "1",
              "readonly": "0"
          }
      }
  ],
  "id": 1
}
```

[comment]: # ({/b2b58125-d85f9654})

[comment]: # ({8d892781-8d892781})
### 另请参阅

-   [媒介](/manual/api/reference/user/object#媒介)
-   [媒介类型](/manual/api/reference/mediatype/object#媒介类型)
-   [用户组](/manual/api/reference/usergroup/object#用户组)
-   [角色](/manual/api/reference/role/object#角色)

[comment]: # ({/8d892781-8d892781})

[comment]: # ({842f2a42-842f2a42})
### 来源

CUser::get() 位于 *ui/include/classes/api/services/CUser.php* 文件中。

[comment]: # ({/842f2a42-842f2a42})
