[comment]: # translation:outdated

[comment]: # ({02ea8022-02ea8022})
# usermacro.get

[comment]: # ({/02ea8022-02ea8022})

[comment]: # ({09261b1a-28befc82})
### 説明

`integer/array usermacro.get(object parameters)`

このメソッドを使用すると、指定されたパラメーターに従ってホストマクロとグローバルマクロを取得できます。

::: noteclassic
このメソッドはどのタイプのユーザーでも利用可能です。このメソッドを呼び出す権限は、ユーザーロール設定で取り消すことができます。詳しくは[ユーザーの役割](/manual/web_interface/frontend_sections/administration/user_roles)を参照してください。
:::

[comment]: # ({/09261b1a-28befc82})

[comment]: # ({fedaf92c-141835f9})
### パラメータ

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

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

|パラメータ|[タイプ](/manual/api/reference_commentary#data_types)|説明|
|--|--|------|
|globalmacro|flag|ホストマクロの代わりにグローバル マクロを返します|
|globalmacroids|string/array|指定された ID を持つグローバルマクロのみを返します|
|groupids|string/array|指定されたホストグループのホストまたはテンプレートに属するホストマクロのみを返します|
|hostids|string/array|指定されたホストまたはテンプレートに属するマクロのみを返します|
|hostmacroids|string/array|指定された ID を持つホストマクロのみを返します|
|inherited|boolean|"true"に設定すると、テンプレートから継承されたホストプロトタイプユーザーマクロのみが返されます|
|selectGroups|query|[groups](/manual/api/reference/hostgroup/object)プロパティでホストマクロが属するホスト グループを返します。<br><br>ホストマクロを取得する場合にのみ使用されます。|
|selectHosts|query|[hosts](/manual/api/reference/host/object)マクロがホスト プロパティに属するホストを返します。<br><br>ホスト マクロを取得する場合にのみ使用されます。
|selectTemplates|query|[templates](/manual/api/reference/template/object) プロパティでホストマクロが属するテンプレートを返します。<br><br>ホストマクロを取得する場合にのみ使用されます。|
|sortfield|string/array|指定されたプロパティで結果を並べ替えます。<br><br>使用可能な値: `macro`|
|countOutput|boolean|すべての`get`メソッドに共通するこれらのパラメーターについては[リファレンス解説](/manual/api/reference_commentary#common_get_method_parameters)ページで詳しく説明されています。|
|editable|boolean|^|
|excludeSearch|boolean|^|
|filter|object|^|
|limit|integer|^|
|output|query|^|
|preservekeys|boolean|^|
|search|object|^|
|searchByAny|boolean|^|
|searchWildcardsEnabled|boolean|^|
|sortorder|string/array|^|
|startSearch|boolean|^|

[comment]: # ({/fedaf92c-141835f9})

[comment]: # ({7223bab1-7223bab1})
### 戻り値

`(integer/array)` 次のいずれかを返します:

-   オブジェクトの配列
-   `countOutput`パラメータが使用されている場合、取得されたオブジェクトの数

[comment]: # ({/7223bab1-7223bab1})

[comment]: # ({b41637d2-b41637d2})
### 例

[comment]: # ({/b41637d2-b41637d2})

[comment]: # ({0190abdb-7089e052})
#### ホストのホストマクロの取得

ホスト"10198"に定義されているすべてのホストマクロを取得します。

Request:

```json
{
    "jsonrpc": "2.0",
    "method": "usermacro.get",
    "params": {
        "output": "extend",
        "hostids": "10198"
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Response:

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostmacroid": "9",
            "hostid": "10198",
            "macro": "{$INTERFACE}",
            "value": "eth0",
            "description": "",
            "type": "0"
        },
        {
            "hostmacroid": "11",
            "hostid": "10198",
            "macro": "{$SNMP_COMMUNITY}",
            "value": "public",
            "description": "",
            "type": "0"
        }
    ],
    "id": 1
}
```

[comment]: # ({/0190abdb-7089e052})

[comment]: # ({ecf6e9be-29b64a7a})
#### グローバルマクロの取得

すべてのグローバルマクロを取得します。

Request:

```json
{
    "jsonrpc": "2.0",
    "method": "usermacro.get",
    "params": {
        "output": "extend",
        "globalmacro": true
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}
```

Response:

```json
{
    "jsonrpc": "2.0",
    "result": [
        {
            "globalmacroid": "6",
            "macro": "{$SNMP_COMMUNITY}",
            "value": "public",
            "description": "",
            "type": "0"
        }
    ],
    "id": 1
}
```

[comment]: # ({/ecf6e9be-29b64a7a})

[comment]: # ({26db0ec2-26db0ec2})
### ソース

CUserMacro::get() in *ui/include/classes/api/services/CUserMacro.php*.

[comment]: # ({/26db0ec2-26db0ec2})
