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

戻り値

(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.