[comment]: # translation:outdated

[comment]: # ({a0f60ec7-a0f60ec7})
# role.update

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

[comment]: # ({481a91cf-63875138})
### 説明

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

このメソッドで、既存の役割を更新できます。

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

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

[comment]: # ({039903c0-fa5c3d93})
### パラメータ

`(object/array)` 更新されるロールプロパティ

`roleid`プロパティはロールごとに定義する必要があり、すべてのプロパティはオプションです。 渡されたプロパティのみが更新され、他のプロパティは変更されません。

このメソッドは[標準のロールプロパティ](object#role)に加えて、次のパラメーターを受け入れます。

|パラメータ|[タイプ](/manual/api/reference_commentary#data_types)|説明|
|--|--|------|
|rules|array|ロールに割り当てられている現在のアクセスルールを置き換えるアクセス[ルール](object#role_rules)|

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

[comment]: # ({12d196f6-12d196f6})
### 戻り値

`(object)` `roleids`プロパティの下で更新されたロールのIDを含むオブジェクトを返します。

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

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

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

[comment]: # ({99239551-1ce1fe70})
#### スクリプトを実行する機能を無効にする

ID"5"でロールを更新し、スクリプトを実行する機能を無効にします。

Request:

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

Response:

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

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

[comment]: # ({1bdf9528-a6349165})
#### APIへのアクセスを制限する

IDが"5"のロールを更新し、"create","update","delete"メソッドの呼び出しを拒否します。

Request:

```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
}
```

Response:

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

[comment]: # ({/1bdf9528-a6349165})

[comment]: # ({36db1bd2-36db1bd2})
### ソース

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

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