更新空间的成员

aki发表于:2019年08月16日 10:16:39更新于:2021年08月09日 16:27:02

更新空间的成员

指定空间成员和空间管理员的设置,对其进行更新。

  • 未使用空间功能时,将报错。

  • 未使用来宾空间功能时,将报错。

  • 无法更新来宾成员的设置。

HTTP 方法

PUT

URI

https://(子域名).cybozu.cn/k/v1/space/members.json

来宾空间

https://(子域名).cybozu.cn/k/guest/<来宾空间的ID>/v1/space/members.json

必要的访问权限

空间的管理员

请求参数

参数名称要指定的值必须说明
id字符串必须指定要更新成员信息的空间ID。
members数组必须用数组形式指定空间的成员信息。
※管理员一个都没有指定时或指定了以下任意一类用户时,将报错。
  • 使用服务中未勾选kintone的用户

  • 停止使用的用户

  • 已删除的用户

members[].entity对象必须空间成员的实体信息。不可指定来宾用户。
members[].entity.type字符串必须空间成员的实体类型。可以指定USER、GROUP、ORGANIZATION的其中一个。
members[].entity.code字符串必须指定空间成员的实体的代码。
members[].isAdmin布尔值或字符串条件必须

指定是否将成员设为空间的管理员。省略时为false。
true: 空间的管理员 
false: 非空间管理员

※空间管理员一个都没有指定时,将报错。

members[].includeSubs布尔值或字符串
指定是否包含下级组织。只有当entity的type为ORGANIZATION时才有效。省略时为false。
true: 包含下级组织 
false: 不包含下级组织

请求范例

以下是在HTTP请求的请求正文中设置JSON数据的范例

请求头部
PUT /k/v1/space/members.json HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
Content-Type: application/json
  • Content-Type里请指定application/json。如不指定,JSON 无法解析,执行时会报错。

正文
{    
    "id": "1",    
    "members": [    
        {    
            "entity": {    
                "type": "USER",    
                "code": "user1"    
            },    
            "isAdmin": true    
        },    
        {    
            "entity": {    
                "type": "GROUP",    
                "code": "group1"    
            },    
            "isAdmin": false    
        },    
        {    
            "entity": {    
                "type": "ORGANIZATION",    
                "code": "org1"    
            },    
            "isAdmin": false,    
            "includeSubs": true    
        }    
    ]    
}
  • JSON字符串放在请求正文中发送。

应答

处理成功时返回空的JSON数据。

{}

JavaScript范例

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

var body = {    
    "id": "1001",    
    "members": [    
        {    
            "entity": {    
                "type": "USER",    
                "code": "user1"    
            ,    
            "isAdmin": true    
        },    
        {    
            "entity": {    
                "type": "GROUP",    
                "code": "group1"    
            },    
            "isAdmin": false    
        },    
        {    
            "entity": {    
               "type": "ORGANIZATION",    
               "code": "org1"    
            },    
            "isAdmin": false,    
            "includeSubs": true    
        }    
    ]    
}    
kintone.api(kintone.api.url('/k/v1/space/members', true), 'PUT', body, function(resp) {    
    // success    
    console.log(resp);    
}, function(error) {    
    // error    
    console.log(error);    
});

使用 XMLHttpRequest 请求

var body = {    
    "id": "1001",    
    "members": [    
        {    
            "entity": {    
                "type": "USER",    
                "code": "user1"    
            },    
            "isAdmin": true    
        },    
        {    
            "entity": {    
                "type": "GROUP",    
                "code": "group1"    
            },    
            "isAdmin": false    
        },    
        {    
            "entity": {    
                "type": "ORGANIZATION",    
                "code": "org1"    
            },    
            "isAdmin": false,    
            "includeSubs": true    
        }    
    ],    
    "__REQUEST_TOKEN__": kintone.getRequestToken()    
};

var url = 'https://{subdomain}.cybozu.cn/k/v1/space/members.json';    
var xhr = new XMLHttpRequest();    
xhr.open('PUT', url);    
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');    
xhr.setRequestHeader('Content-Type', 'application/json');    
xhr.onload = function() {    
    if (xhr.status === 200) {    
    // success    
        console.log(JSON.parse(xhr.responseText));    
    } else {    
        // error    
        console.log(JSON.parse(xhr.responseText));    
    }    
};    
xhr.send(JSON.stringify(body));