前置条件: 先阅读
../lark-shared/SKILL.md了解认证、全局参数和安全规则。前置条件: 需要base开启了高级权限,如果调用这个接口返回没有开启高级权限,可以参考
lark-base-advperm-enable.md了解高级权限启用规则。
在指定 Base 中创建一个自定义角色,需传入完整的 AdvPermBaseRoleConfig 作为角色配置。
# 创建简单角色(仅设置名称和类型)
lark-cli base +role-create \
--base-token VwGhb**************fMnod \
--json '{"role_name":"财务审核员","role_type":"custom_role"}'
# 创建角色并配置表权限、字段权限、记录筛选
lark-cli base +role-create \
--base-token VwGhb**************fMnod \
--json '{"role_name":"财务审核员","role_type":"custom_role","base_rule_map":{"copy":false,"download":false},"table_rule_map":{"订单表":{"perm":"edit","record_rule":{"record_operations":["add"],"edit_filter_rule_group":{"conjunction":"and","filter_rules":[{"conjunction":"and","filters":[{"field_name":"部门","operator":"is","filter_values":["财务部"]}]}]},"other_record_all_read":true},"field_rule":{"field_perm_mode":"specify","field_perms":{"金额":"edit","备注":"read","密码":"no_perm"}}},"用户表":{"perm":"read_only"}},"dashboard_rule_map":{"销售看板":{"perm":"read_only"}}}'
| 参数 | 必填 | 说明 |
|---|---|---|
--base-token <token> |
是 | Base Token,27 位字母数字字符串 |
--json <body> |
是 | AdvPermBaseRoleConfig JSON,包含角色名称、类型、权限配置 |
HTTP 方法和路径:
POST /open-apis/base/v3/bases/:base_token/roles
Path 参数:
| 参数 | 必填 | 说明 |
|---|---|---|
base_token |
是 | Base 的唯一标识,27 位字母数字字符串 |
Request Body(JSON — AdvPermBaseRoleConfig):
完整的权限配置结构详见 role-config.md
Response:
| 字段 | 类型 | 说明 |
|---|---|---|
code |
int32 | 错误码,0 表示成功 |
message |
string | 错误信息 |
data |
string | 创建成功时为空 |
命令成功后输出 JSON:
{
"ok": true,
"data": {
"success": true
}
}
--base-token 和角色配置 JSONcode: 0 表示创建成功custom_role,传其他值会报业务错误base/v3,路径必须从原始文档提取,不要用 WebSearch 补全data 是 string 类型(非 object),需要双重解析field_name、operator、filter_values 由客户端传入,field_type、field_ui_type、reference_type 由服务端 filterFiller 自动补全