user.get

説明

integer/array user.get(object parameters)

このメソッドでは、指定されたパラメータに従ってユーザーを取得できます。

このメソッドは、任意のタイプのユーザーが利用できます。メソッドを呼び出す権限は、ユーザーロールの設定で取り消すことができます。詳細については、ユーザーロールを参照してください。

パラメータ

(object) 目的の出力を定義するパラメータ。

このメソッドは以下のパラメータをサポートしています。

ユーザーメディア、権限、またはロール情報を要求する場合、Admin および User タイプのユーザーは、自分自身のユーザーに関するデータのみ取得できます。 例については、Retrieving users as Admin を参照してください。

パラメータ 説明
mediaids ID/array 指定したメディアを使用しているユーザーのみを返します。
mediatypeids ID/array 指定したメディアタイプを使用しているユーザーのみを返します。
userids ID/array 指定したIDを持つユーザーのみを返します。
usrgrpids ID/array 指定したユーザーグループに属するユーザーのみを返します。
getAccess flag ユーザー権限に関する追加情報を加えます。

各ユーザーに対して以下のプロパティを追加します。
gui_access - (integer) ユーザーのWebインターフェース認証方式。ユーザーグループオブジェクト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 これらのパラメータについては、reference commentary で説明されています。
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
}

管理者 としてユーザーを取得する

管理者 タイプのユーザーとして、自分のユーザーに関する詳細データと、ユーザーグループ内のユーザーの限定データを取得します。

リクエスト:

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

Response:

{
    "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.