user.get

Описание

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

Возвращаемые значения

(целое число/массив) Возвращает либо:

  • · массив объектов;
  • · количество извлеченных объектов, если использовался параметр 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",
            "default_maintenance_period": "1h",
            "refresh": "30s",
            "theme": "default",
            "attempt_failed": "0",
            "attempt_ip": "",
            "attempt_clock": "0",
            "rows_per_page": "50",
            "timezone": "default",
            "roleid": "3",
            "userdirectoryid": "0",
            "ts_provisioned": "0",
            "provisioned": "0"
        },
        {
            "userid": "2",
            "username": "guest",
            "name": "",
            "surname": "",
            "url": "",
            "autologin": "0",
            "autologout": "15m",
            "lang": "default",
            "default_maintenance_period": "1h",
            "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",
            "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",
      "url": "",
      "autologin": "1",
      "autologout": "0",
      "lang": "default",
      "default_maintenance_period": "1h",
      "refresh": "30s",
      "theme": "default",
      "attempt_failed": "0",
      "attempt_ip": "",
      "attempt_clock": "0",
      "rows_per_page": "50",
      "timezone": "default",
      "roleid": "3",
      "userdirectoryid": "0",
      "ts_provisioned": "0",
      "provisioned": "0",
      "gui_access": "1",
      "debug_mode": "0",
      "users_status": "0",
      "usrgrps": [
        {
          "usrgrpid": "7",
          "name": "Zabbix administrators",
          "gui_access": "0",
          "users_status": "0",
          "debug_mode": "0",
          "userdirectoryid": "0",
          "mfa_status": "0",
          "mfaid": "0",
          "proxy_mode": "0",
          "proxy_group_mode": "0"
        },
        {
          "usrgrpid": "13",
          "name": "Internal",
          "gui_access": "1",
          "users_status": "0",
          "debug_mode": "0",
          "userdirectoryid": "0",
          "mfa_status": "0",
          "mfaid": "0",
          "proxy_mode": "0",
          "proxy_group_mode": "0"
        }
      ],
      "medias": [],
      "mediatypes": [],
      "role": {
        "roleid": "3",
        "name": "Super admin role",
        "type": "3",
        "readonly": "1"
      }
    },
    {
      "userid": "2",
      "username": "guest",
      "name": "",
      "surname": "",
      "url": "",
      "autologin": "0",
      "autologout": "15m",
      "lang": "default",
      "default_maintenance_period": "1h",
      "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",
      "provisioned": "0",
      "gui_access": "1",
      "debug_mode": "0",
      "users_status": "1",
      "usrgrps": [
        {
          "usrgrpid": "8",
          "name": "Guests",
          "gui_access": "0",
          "users_status": "0",
          "debug_mode": "0",
          "userdirectoryid": "0",
          "mfa_status": "0",
          "mfaid": "0",
          "proxy_mode": "0",
          "proxy_group_mode": "0"
        },
        {
          "usrgrpid": "9",
          "name": "Disabled",
          "gui_access": "0",
          "users_status": "1",
          "debug_mode": "0",
          "userdirectoryid": "0",
          "mfa_status": "0",
          "mfaid": "0",
          "proxy_mode": "0",
          "proxy_group_mode": "0"
        },
        {
          "usrgrpid": "13",
          "name": "Internal",
          "gui_access": "1",
          "users_status": "0",
          "debug_mode": "0",
          "userdirectoryid": "0",
          "mfa_status": "0",
          "mfaid": "0",
          "proxy_mode": "0",
          "proxy_group_mode": "0"
        }
      ],
      "medias": [],
      "mediatypes": [],
      "role": {
        "roleid": "4",
        "name": "Guest role",
        "type": "1",
        "readonly": "0"
      }
    }
  ],
  "id": 1
}

Получение данных пользователя

Получите данные пользователя с идентификатором «2».

Запрос:

{
    "jsonrpc": "2.0",
    "method": "user.get",
    "params": {
        "output": ["userid", "username"],
        "selectRole": "extend",
        "userids": "2"
    },
    "id": 1
}

Ответ:

{
  "jsonrpc": "2.0",
  "result": [
    {
      "userid": "2",
      "username": "guest",
      "role": {
        "roleid": "4",
        "name": "Guest role",
        "type": "1",
        "readonly": "0"
      }
    }
  ],
  "id": 1
}

См. также

Источник

CUser::get() в ui/include/classes/api/services/CUser.php.