user.get
Описание
integer/array user.get(параметры объекта)
Метод позволяет получать пользователей по заданным параметрам.
Этот метод доступен пользователям любого типа. Разрешения на вызов метода можно отозвать в настройках ролей пользователя. Дополнительную информацию см. в разделе Роли пользователей.
Параметры
(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 data type.Возможные свойства объекта User для пользователей типа Admin и User при запросе данных о пользователях из их группы пользователей: userid, name, surname, username. |
| output | query | Свойства объекта User, которые должны быть возвращены. Пользователи типа 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 data type.Возможные свойства объекта User для пользователей типа 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 |
Возвращаемые значения
(целое число/массив) Возвращает либо:
- · массив объектов;
- · количество извлеченных объектов, если использовался параметр
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() в ui/include/classes/api/services/CUser.php.