获取记录的访问权限

aki发表于:2016年12月02日 16:41:05更新于:2021年08月09日 15:53:54

获取记录的访问权限的设置。

URI

获取正式环境的设置时所使用的URI跟获取测试环境设置时不一样。

获取正式环境的设置时

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

来宾空间内的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/record/acl.json

获取测试环境的设置时

https://(子域名).cybozu.cn/k/v1/preview/record/acl.json

来宾空间内的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/preview/record/acl.json

HTTP 方法

GET

必要的访问权限

应用的管理权限

请求参数

参数名称要指定的值必须说明
app数值或字符串必须指定应用的ID。
lang字符串
语言指定以下任意一个。
  • 日语:ja

  • 英语:en

  • 中文:zh

  • 登录用户的语言设置:user
    ※当登录用户的语言设置为“遵循Web浏览器的设置”时,如果头部中指定“Accept-Language”,则使用该设置。如果不指定“Accept-Language”,则使用cybozu.cn系统管理的“本地化设置”中的语言设置。

  • 上述语言之外的情况:default

如果字段或选项的名称设置了"多语言对应",则根据上述指定的语言来获取设置。如果省略,默认“default”。

请求的范例

要发送的请求根据参数发送方式的不同而不同。以下是指定参数“app”和“lang”的请求的例子。

URL中包含参数时

GET /k/v1/record/acl.json?app=8&lang=zh HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=

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

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

正文

{
    "app": "8",
    "lang": "zh"
}

应答参数

参数名称值的类型说明
rights数组访问权限的设置用户的对象数组。排列顺序按设置的优先度从高到低排列。
rights[].filterCond字符串

记录的条件。用查询形式显示。查询形式请参考以下页面。

批量获取记录(在查询中指定条件)

rights[].entities数组访问权限的设置用户的数组。排列顺序按设置的优先度从高到低排列。
rights[].entities[].entity对象访问权限的设置用户的对象。
rights[].entities[].entity.type字符串

访问权限的设置用户的种类。

  • USER:用户

  • GROUP:组

  • ORGANIZATION:组织

  • FIELD_ENTITY:用户字段

rights[].entities[].entity.code字符串访问权限的设置用户的代码。
rights[].entities[].viewable布尔值

设置是否可查看记录。

  • true:可查看记录

  • false:不可查看记录

rights[].entities[].editable布尔值

设置是否可编辑记录。

  • true:可编辑记录

  • false:不可编辑记录

rights[].entities[].deletable布尔值设置是否可删除记录。
  • true:可删除记录

  • false:不可删除记录

rights[].entities[].includeSubs布尔值

是否将设置继承给其下属组织。

  • true:继承

  • false:不继承

revision字符串应用的设定的修订号。

应答的范例

{
  "rights": [
    {
      "filterCond": "更新时间> \"2012-02-03T09:00:00Z\" and 更新时间 < \"2012-02-03T10:00:00Z\"",
      "entities": [
        {
          "entity": {
            "type": "ORGANIZATION",
            "code": "org1"
          },
          "viewable": false,
          "editable": false,
          "deletable": false,
          "includeSubs": true
        },
        {
           "entity": {
            "type": "FIELD_ENTITY",
            "code": "更新人"
          },
          "viewable": true,
          "editable": true,
          "deletable": true, 
          "includeSubs": false
        }
      ]
    }
  ],
  "revision": "2"
}

JavaScript 范例

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

var body = {
    "app": 1
};
kintone.api(kintone.api.url('/k/v1/record/acl', true), 'GET', body, function(resp) {
    // success
    console.log(resp);
}, function(error) {
    // error
    console.log(error);
});

使用 XMLHttpRequest 请求

var url = 'https://{subdomain}.cybozu.cn/k/v1/record/acl.json?app=1';
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();