获取执行操作的用户的记录访问权限

aki发表于:2019年07月31日 10:38:50更新于:2021年08月09日 15:51:05

获取执行操作的用户的记录访问权限的设置。

可以获取所指定的记录权限和字段权限。

URI

https://(子域名).cybozu.cn/k/v1/records/acl/evaluate.json

来宾空间的应用

https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/records/acl/evaluate.json

HTTP方法

GET

必要的访问权限

需要以下至少其中一个访问权限。

  • 应用的记录查看权限

  • 应用的记录添加权限

※不可使用API令牌来执行此API。

请求参数

参数名称要指定的值必须说明
app数值或字符串必须指定的应用的ID。
ids

数组

必须

用数值或字符串的数组形式指定要获取的记录的记录ID。
※最大值为100。
※指定的id中只要有一个id不存在,将报错。

请求的范例

要发送的请求因参数的发送方式不同而异。指定参数“app”和“ids”时的范例如下。

URL中包含参数时

GET /k/v1/records/acl/evaluate.json?app=8&ids[0]=1&ids[1]=2 HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=

请求正文中包含参数时
头部

GET /k/v1/records/acl/evaluate.json HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
Content-Type: application/json

正文

{    
  "app": 1,    
  "ids": [1, 2]    
}

应答参数

参数名称值的类型说明
rights数组由访问权限的设置的对象组成的数组。
rights[].id字符串记录ID。
rights[].record对象表示所指定记录的访问权限的对象。
rights[].record.viewable布尔值所指定的记录的查看权限。
rights[].record.editable布尔值所指定的记录的编辑权限。
rights[].record.deletable布尔值所指定的记录的删除权限。
rights[].fields对象

表示所指定记录中包含的字段的访问权限的对象。

  • 包含记录更新API可更新的字段。

  • 执行操作的用户无查看权限的字段也包含在应答里。

  • 没有设置访问权限的字段也包含在应答里。

  • 不可设置访问权限的字段也包含在应答里。

  • 表格内的字段也排列在同一列里。

rights[].fields.字段代码.viewable布尔值所指定的记录内相应字段的查看权限。
rights[].fields.字段代码.editable布尔值

所指定的记录内相应字段的编辑权限。

应答的范例

{
    "rights":[
        {
            "id":"1",
            "record": {
                "viewable": true,
                "editable": false,
                "deletable": false
            },
            "fields": {
                "单行文本框": {
                    "viewable": true,
                    "editable": false
                },
                "多行文本框": {
                    "viewable": false,
                    "editable": false
                }
            }
        },
        {
            "id":"2",
            "record": {
                "viewable": true,
                "editable": true,
                "deletable": true
            },
            "fields": {
                "单行文本框": {
                    "viewable": true,
                    "editable": true
                },
                "多行文本框": {
                    "viewable": true,
                    "editable": true
                }
            }
        }
    ]
}

JavaScript范例

使用API请求发送 kintone REST API 请求

var body = {
    "app": 1,
    "ids": [1, 2]
};

kintone.api(kintone.api.url('/k/v1/records/acl/evaluate', true), 'GET', body, function(resp) {
    // success
    console.log(resp);
}, function(error) {
    // error
    console.log(error);
});

使用 XMLHttpRequest 请求

var url = 'https://{subdomain}.cybozu.cn/k/v1/records/acl/evaluate.json?app=8&ids[0]=1&ids[1]=2';
var xhr = new XMLHttpRequest();
xhr.open('GET', url);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.onload = function() {
    if (xhr.status === 200) {
        // success
        console.log(JSON.parse(xhr.responseText));
    } else {
        // error
        console.log(JSON.parse(xhr.responseText));
    }
};
xhr.send();

限制事项

以下字段不包含在应答里。

  • 记录编号 *

  • 标签 *

  • 边框 *

  • 空白栏 *

  • 表格 *

  • 组合

  • 关联记录列表

  • 创建人

  • 创建时间

  • 更新人

  • 更新时间

带有*符号的字段为不可设置“字段的访问权限”的字段。

字段的viewable(查看)、editable(编辑)会被记录的权限覆盖。