添加记录(POST)

aki发表于:2016年08月29日 15:22:42更新于:2019年06月03日 14:46:01

Index

添加记录(1条)

有记录添加权限的用户可添加1条记录。

  • 设置为必填项时,请求中必须包含该项的值。

HTTP 方法

POST

URI

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

来宾空间内的应用

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

访问权限

  • 需要以下权限才可执行API。

    • 添加记录的权限

    • 要添加值的字段的编辑权限

  • 向以下字段添加值时,需要应用的管理权限才可执行API。

    • 创建人

    • 更新人

    • 创建时间

    • 更新时间

请求属性

参数名要指定的值必须说明
app数值或字符串必须指定应用的ID。
recordObject可省略使用对象指定记录的信息(字段代码和字段的值)。
  • 字段值的规格根据字段格式的不同而不同。详情请参考 字段格式

  • 省略时,所有字段的值都作为初始值来添加。

  • 指定的字段代码不存在时,将被忽略。

请求正文的构成
{
    "app": "(应用ID)",
    "record": {
        "(字段代码)": {
            "value": "(字段的值)"
        },
        "(表格的字段代码)": {
            "value": [
                {
                    "value": {
                        "(字段代码)": {
                            "value": "(字段的值)"
                        }
                    }               
                }
            ]
        }
    }
}


请求的范例

请求头部

POST /k/v1/record.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 无法识别,执行时将报错。

正文

在应用编号为【1972】的应用中添加以下记录时

字段的格式字段代码
单行文本框单行文本框测试
多行文本框多行文本框测试\n测试2
数值数值20
日期与时间日期与时间2014-02-16T08:57:00Z
复选框复选框sample1、 sample2
选择用户选择用户sato ※指定登录名称
下拉菜单下拉菜单Sample1
链接链接_网页https://www.cybozu.cn
表格Table
表格内的单行文本框表格字符串测试
{
    "app": 1972,
    "record": {
        "单行文本框": {
            "value": "测试"
        },
        "多行文本框": {
            "value": "测试\n测试2"
        },
        "数值": {
            "value": "20"
        },
        "日期与时间": {
            "value": "2014-02-16T08:57:00Z"
        },
        "复选框": {
            "value": [
                "sample1",
                "sample2"
            ]
        },
        "选择用户": {
            "value": [
                {
                    "code": "sato"
                }
            ]
        },
        "下拉菜单": {
            "value": "sample1"
        },
        "链接_网页": {
            "value": "https://www.cybozu.cn"
        },
        "Table": {
            "value": [
                {
                    "value": {
                        "表格字符串": {
                            "value": "测试"
                        }
                    }
                }
            ]
        }
    }
}

应答的范例

返回添加成功的记录的记录ID和修订号。

{
    "id": "100"
    "revision": "1"
}

JavaScript范例

kintone REST API

var body = {
    "app": 1,
    "record": {
        "单行文本框": {
            "value": "ABC"
        }
    }
};

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

XMLHttpRequest

var body = {
    "app": 1,
    "record": {
        "单行文本框": {
            "value": "ABC"
        }
    },
    // CSRF TOKEN: 在kintone上执行API(POST, PUT, DELETE)时选择设置
    "__REQUEST_TOKEN__": kintone.getRequestToken()
};

var url = 'https://{subdomain}.cybozu.cn/k/v1/record.json';
var xhr = new XMLHttpRequest();
xhr.open('POST', 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));

批量添加记录

有记录添加权限的用户可批量添加多条记录。

  • 一次最多可添加100条记录。

  • 设置为必填项时,请求中必须包含该项的值。

  • 按照请求的 records参数中指定的顺序依次添加记录。根据请求中指定的记录顺序依次生成记录编号ids。

  • 批量添加失败时,请求中的所有记录的处理都将被取消。

HTTP 方法

POST

URI

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

来宾空间内的应用

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

访问权限

  • 需要以下权限才可执行API。

    • 添加记录的权限

    • 要添加值的字段的编辑权限

  • 向以下字段添加值时,需要应用的管理权限才可执行API。

    • 创建人

    • 更新人

    • 创建时间

    • 更新时间

请求

参数名要指定的值必须说明
app数值或字符串必须指定应用的ID。
records数组
(Object)
必须指定要添加的记录的信息。在本参数的值中指定record对象的数组。
使用对象指定数组中的记录信息(字段代码和字段的值)。
  • 字段值的规格根据字段格式的不同而不同。详情请参考 字段格式

  • 省略时,所有字段的值都作为初始值来添加。

  • 指定的字段代码不存在时,将被忽略。

请求正文的构成(※添加n条记录时)
{
    "app": (应用的ID),
    "records": [
        {   // 第1条数据
            "(字段代码)": {
                "value": (字段的值)
            },
            "(字段代码)": {
                "value": (字段的值)
            },
            :
        },
        {   // 第2条数据
            "(字段代码)": {
                "value": (字段的值)
            },
            "(字段代码)": {
                "value": (字段的值)
            },
            :
        },
        :
        {   // 第n条数据
            :
        }
    ]
}

请求的范例

正文

在应用ID为【1972】的应用中添加以下2条记录时

第1条

字段的格式字段代码
文本编辑框rich_editortest1
选择用户user_select登录名:zhou

第2条

字段的格式字段代码
文本编辑框rich_editortest2
选择用户user_select登录名称:chen
{
    "app": 1972,
    "records": [
        {
            "rich_editor": {
                "value": "test1"
            },
            "user_select": {
                "value": [
                    {
                        "code": "zhou"
                    }
                ]
            }
        },
        {
            "rich_editor": {
                "value": "test2"
            },
            "user_select": {
                "value": [
                    {
                        "code": "chen"
                    }
                ]
            }
        }
    ]
}

应答的范例

返回添加成功的记录的记录ID和修订号。

根据请求中指定的记录顺序依次生成记录编号ids。

{
    "ids": ["100","101"]
    "revisions": ["1","1"]
}

JavaScript范例

kintone REST API

var body = {
    "app": 1,
    "records": [
        {
            "单行文本框": {
                "value": "ABC"
            }
        },
        {
            "单行文本框": {
                "value": "ABC"
            }
        }
    ]
};

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

XMLHttpRequest

var body = {
    "app": 1,
    "records": [
        {
            "单行文本框": {
                "value": "ABC"
            }
        },
        {
            "单行文本框": {
                "value": "ABC"
            }
        }
    ],
    // CSRF TOKEN: 在kintone上执行API(POST, PUT, DELETE)时选择设置
    "__REQUEST_TOKEN__": kintone.getRequestToken()
};

var url = 'https://{subdomain}.cybozu.cn/k/v1/records.json';
var xhr = new XMLHttpRequest();
xhr.open('POST', 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));

限制事项

  • 以下字段无法添加值。

    • 通过Lookup字段输入值的字段

    • 状态

    • 类别

    • 计算

    • 执行者

其他请参考限制事项


回复(2)

  • betsy_yan

    可能有以下几个原因:

    1. 请求正文(Request body)大小超过最大50 MB

    2. 应用字段超过500个

    3. 一个应用安装插件超过20个

    等等

    其他限制可以查看以下链接:

    https://jp.cybozu.help/k/zh/admin/limitation/limit.html

    引用 closer 的回复:

    请问,画面报这个错是APP的数据打不开了吗错误。无法加载记录。处理失败。请减少要更新或参照的记录数。(GAIA_TL01 iLMjga5CN6vjl6wVOQ6V)

  • closer

    请问,画面报这个错是APP的数据打不开了吗

    错误。

    • 无法加载记录。

    • 处理失败。请减少要更新或参照的记录数。

    • (GAIA_TL01 iLMjga5CN6vjl6wVOQ6V)


注意:贴代码时请注意格式并使用"代码语言",与本文无关的问题请至“讨论社区”提问。
您需要登录后才可以回复