删除记录(DELETE)

aki发表于:2016年08月29日 15:24:45更新于:2021年08月09日 11:39:04

记录的批量删除

有删除记录权限的用户可删除多条记录。

  • 一次最多可删除100条记录。

  • 处理失败时,所有记录都不会被删除。

HTTP 方法

DELETE

URI

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

来宾空间内的应用

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

必要的访问权限

  • 应用的记录删除权限

  • 要删除值的记录的删除权限

请求参数

参数名称要指定的值必须说明
app数值或字符串必须指定应用的ID。
ids数值数组必须用数组形式指定要删除的记录的记录ID。
revisions数值数组可省略修订号。排列方式和ids一样(第一条记录的ids的值,与第一个修订号的revisions的数值一样)。 和实际的修订号不一致时报错(不会删除任何记录)。但值为-1时或不指定时,将不检验修订号。

请求的范例

使用HTTP的请求字符串发送参数时

用【&】将【app】和【ids】连起来,作为HTTP的请求字符串发送。【ids】中指定【0】到【99】连续数字的数组,通过指定【ids】参数的值来指定要删除的记录的ID。

查询字符串
app=8&ids[0]=100&ids[1]=80&revisions[0]=1&revisions[1]=4
包含请求头部的字符串
DELETE /k/v1/records.json? app=8&ids[0]=100&ids[1]=80&revisions[0]=1&revisions[1]=4 HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
  • Content-Type头部不需要。

参数使用 JSON数据发送时

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

请求头部
DELETE /k/v1/records.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,执行时将报错。

正文
{
    "app": 1,
    "ids": [100, 80],
    "revisions": [1, 4]
}

应答

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

 {}

JavaScript范例

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

var body = {
    "app": 1,
    "ids": [1001, 1002],
    "revisions": [1, 4]
};

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

使用 XMLHttpRequest 请求

var url = 'https://{subdomain}.cybozu.cn/k/v1/records.json';
var body = {
    "app": 1,
    "ids": [1001, 1002],
    "revisions": [1, 4],
    // CSRF TOKEN: 在kintone上执行API(POST, PUT, DELETE)时需要设置
    "__REQUEST_TOKEN__": kintone.getRequestToken()
};


var xhr = new XMLHttpRequest();
xhr.open('DELETE', 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));

限制事项

请参考限制事项