获取应用的访问权限

aki发表于:2016年12月01日 15:26:05更新于:2021年08月09日 15:47:13

获取应用的访问权限的设置。

URI

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

获取正式环境的设置时

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

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

获取测试环境的设置时

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

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

HTTP 方法

GET

必要的访问权限

应用的管理权限

请求参数

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

请求的范例

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

URL中包含参数时

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

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

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

正文

{
  "app": "8"
}

应答参数

参数名称值的类型说明
rights数组用于存放应用访问权限的设置对象的数组。排列顺序按设置的优先度从高到低排列。
rights[].entity对象用于存放访问权限的设置对象的对象。
rights[].entity.type字符串访问权限的设置对象的种类。
  • USER:用户

  • GROUP:组

  • ORGANIZATION:组织

  • CREATOR:应用的创建人

rights[].entity.code字符串

访问权限的设置对象的代码

根据rights[].entity.code的值,返回如下值。

CREATOR :null

除此以外:访问权限的设置对象

如果是来宾用户、在用户名前加上”guest/“。

rights[].includeSubs布尔值

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

如果rights[].entity.type 是ORGANIZATION以外、都是返回false。

  • true:继承

  • false:不继承

rights[].appEditable布尔值可否管理应用的设置。
  • true:可以管理应用

  • false:不可管理应用

rights[].recordViewable布尔值设置是否可查看记录。
  • true:可查看记录

  • false:不可查看记录

rights[].recordAddable布尔值设置是否可添加记录。
  • true:可添加记录

  • false:不可添加记录

rights[].recordEditable布尔值设置是否可编辑记录。
  • true:可编辑记录

  • false:不可编辑记录

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

  • false:不可删除记录

rights[].recordImportable布尔值设置是否可导入文件。
  • true:可导入文件

  • false:不可导入文件

rights[].recordExportable布尔值设置是否可导出到文件。
  • true:可导出到文件

  • false:不可导出到文件

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

应答的范例

{
  "rights": [
    {
      "entity": {
        "type": "USER",
        "code": "user1"
      },
      "includeSubs": false,
      "appEditable": true,
      "recordViewable": true,
      "recordAddable": true,
      "recordEditable": true,
      "recordDeletable": true,
      "recordImportable": true,
      "recordExportable": true
    },
    {
      "entity": {
        "type": "GROUP",
        "code": "group1"
      },
      "includeSubs": false,
      "appEditable": false,
      "recordViewable": false,
      "recordAddable": false,
      "recordEditable": false,
      "recordDeletable": false,
      "recordImportable": false,
      "recordExportable": false
    },
    {
      "entity": {
        "type": "ORGANIZATION",
        "code": "org1"
      },
      "includeSubs": true,
      "appEditable": false,
      "recordViewable": true,
      "recordAddable": true,
      "recordEditable": true,
      "recordDeletable": true,
      "recordImportable": true,
      "recordExportable": true
    },
    {
      "entity": {
        "type": "CREATOR",
        "code": null
      },
      "includeSubs": false,
      "appEditable": true,
      "recordViewable": true,
      "recordAddable": true,
      "recordEditable": true,
      "recordDeletable": true,
      "recordImportable": true,
      "recordExportable": true
    }
  ],
  "revision": "2"
}

JavaScript 范例

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

var body = {
    "app": 1
};

kintone.api(kintone.api.url('/k/v1/app/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/app/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();