[comment]: # translation:outdated

[comment]: # ({a0f60ec7-a0f60ec7})
# 角色.更新

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

[comment]: # ({b2b620ed-63875138})
### 说明

`object role.update(object/array roles)`

用户使用该方法可以用来更新存在的角色用户。

::: 请注意
该方式仅对*超级管理员*类型的用户生效。 用户可以在用户角色设置中对该方式的使用权限进行设定修改。请参考 [用户角色](zh/manual/web_interface/frontend_sections/administration/user_roles)以获取更多信息。
:::

[comment]: # ({/b2b620ed-63875138})

[comment]: # ({039903c0-fa5c3d93})
### 参数

`(object/array)` 要更新的职责属性。

The `reportid` 该属性为必要配置参数，需要为每个规划报告定义，其它属性则为可选配置。只有符合要求的属性更改才会更新，其它属性则会保持不变。

除此之外，根据[标准规划报告属性](object#report)，该方法接受如下参数。 

|参数|[类型](zh/manual/api/reference_commentary#data_types)|说明|
|---------|---------------------------------------------------|-----------|
|rules|数组|将当前赋予该职责用户的访问规则修改为新的访问[规则](object#role_rules)。|

[comment]: # ({/039903c0-fa5c3d93})

[comment]: # ({12d196f6-12d196f6})
### 返回值

根据`roleids`的特性，`(object)`返回一个包含已更新职责用户ID的对象。

[comment]: # ({/12d196f6-12d196f6})

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

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

[comment]: # ({9e794e1d-1ce1fe70})
#### 关闭运行脚本功能

更新ID号为5的角色，关闭其运行脚本的功能。

请求：

```json
{
    "jsonrpc": "2.0",
    "method": "role.update",
    "params": [
        {
            "roleid": "5",
            "rules": {
                "actions": [
                    {
                        "name": "execute_scripts",
                        "status": "0"
                    }
                ]
            }
        }
    ],
    "auth": "3a57200802b24cda67c4e4010b50c065",
    "id": 1
}
```

响应：

```json
{
    "jsonrpc": "2.0",
    "result": {
        "roleids": [
            "5"
        ]
    },
    "id": 1
}
```

[comment]: # ({/9e794e1d-1ce1fe70})

[comment]: # ({5d319ac7-a6349165})
#### 限制对API的访问

更新ID号为5的角色，拒绝任何 "创建", "更新" 或者 "删除" 方式。

请求：

```json
{
    "jsonrpc": "2.0",
    "method": "role.update",
    "params": [
        {
            "roleid": "5",
            "rules": {
                "api.access": "1",
                "api.mode": "0",
                "api": ["*.create", "*.update", "*.delete"]
            }
        }
    ],
    "auth": "3a57200802b24cda67c4e4010b50c065",
    "id": 1
}
```

响应：

```json
{
    "jsonrpc": "2.0",
    "result": {
        "roleids": [
            "5"
        ]
    },
    "id": 1
}
```

[comment]: # ({/5d319ac7-a6349165})

[comment]: # ({36db1bd2-36db1bd2})
### 参考来源

CRole::update() in *ui/include/classes/api/services/CRole.php*.

[comment]: # ({/36db1bd2-36db1bd2})
