# usermacro.get

### 说明

`integer/array usermacro.get(object parameters)`
该方法允许根据给定的参数检索主机和全局宏。

### 参数

`(object)` 定义所需输出的参数。 该方法支持以下参数。

|属性                     类|说明|<|
|------------------------------|------|-|
|globalmacro|flag|返回全局宏而不是主机宏。|
|globalmacroids|string/array|仅返回具有给定ID的全局宏。|
|groupids|string/array|只返回属于主机的主机宏或来自给定主机组的模板。|
|hostids|string/array|仅返回属于给定主机的主机宏。|
|hostmacroids|string/array|只返回具有给定ID的主机宏。|
|templateids|string/array|只返回属于给定模板的主机宏。|
|selectGroups|query|在“'groups”属性中返回主机宏所属的主机组。<br><br>仅在检索主机宏时使用。|
|selectHosts|query|在“hosts”属性中返回主机宏所属的主机。<br><br>仅在检索主机宏时使用。|
|selectTemplates|query|在“'template`属性中返回主机宏所属的模板。  仅在检索主机宏时使用。 \| ^ \|\|\| \| sortfield \| string/array \| 按照给定的属性对结果进行排序。  可能的值：`macro''。|
|countOutput|flag|T这些参数对于所有的“获取”方法是常见的，在页 [参考评论](/manual/api/reference_commentary#common_get_method_parameters) page. 中有详细描述。|
|editable|boolean|^|
|excludeSearch|flag|^|
|filter|object|^|
|limit|integer|^|
|output|query|^|
|preservekeys|flag|^|
|search|object|^|
|searchByAny|boolean|^|
|searchWildcardsEnabled|boolean|^|
|sortorder|string/array|^|
|startSearch|flag|^|

### 返回值

`(integer/array)` 返回：

-   一组对象;
-   如果已经使用“countOutput”参数，则检索到的对象的计数。

### 示例

#### Retrieving host macros for a host

Retrieve all host macros defined for host "10198".

Request:

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

Response:

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

#### Retrieving global macros

Retrieve all global macros.

Request:

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

Response:

``` {.java}
{
    "jsonrpc": "2.0",
    "result": [
        {
            "globalmacroid": "6",
            "macro": "{$SNMP_COMMUNITY}",
            "value": "public"
        }
    ],
    "id": 1
}
```

### 来源

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