このページで
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.