更改应用的表单的设置
更改表单的设置时,根据操作的不同,要使用的API也不一样。
添加字段
将字段添加到表单。更改字段的设置
更改表单的字段的设置。删除字段
删除表单中的字段。更改表单的布局
更改以下设置。字段的长度和宽度
要设为表格的字段及其顺序
要放到组合字段里的字段及其布局
标签、空白栏及边框的设置
删除字段
从表单删除字段。删除组合或表格时,其包含的字段也一并被删除。
值会自动输入的以下字段,如果从表单中删除,不会删除数据。
记录编号
创建人
更新人
创建时间
更新时间
另外,不可删除以下字段。
状态
执行者
类别
此API仅将应用的设置反映到测试环境中,如需反映到正式环境,需要执行将应用的设置反映到正式环境中API。
URI
https://(子域名).cybozu.cn/k/v1/preview/app/form/fields.json
来宾空间内的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/preview/app/form/fields.json
HTTP 方法
DELETE
必要的访问权限
应用的管理权限。
请求参数
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
app | 数值或字符串 | 必须 | 指定应用的ID。 |
fields | 数组 | 必须 | 指定要删除的字段的代码。 ※可指定的字段上限为100个 |
revision | 数值或字符串 | 指定应用的设置更改之前的修订号。如指定的修订号不是最新的,请求将报错。 如果省略或指定“-1”,将不对修订号进行验证。 |
(1) 通过 HTTP 请求字符串发送参数时
头部
DELETE /k/v1/preview/app/form/fields.json?app=1&fields[0]=%E6%96%87%E5%AD%97%E5%88%97__1%E8%A1%8C_&fields[1]=%E6%95%B0%E5%80%A4&revision=2 HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
(2) 通过JSON形式发送参数时(在HTTP 请求的请求正文中写JSON 数据时)
头部
DELETE /k/v1/preview/app/form/fields.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
正文
{ "app": 1, "revision": 2, "fields": ["单行文本框","数值"] }
应答参数
参数名称 | 值的类型 | 说明 |
---|---|---|
revision | 字符串 | 应用的设置更改之后的修订号。 |
应答的范例
{ "revision": "3" }
JavaScript范例
使用API请求发送 kintone REST API 请求
var body = { 'app': 1, 'revision': 2, 'fields': [ '单行文本框', '数值' ] }; kintone.api(kintone.api.url('/k/v1/preview/app/form/fields', true), 'DELETE', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
使用 XMLHttpRequest 请求
var body = { 'app': 1, 'revision': 2, 'fields': [ '单行文本框', '数值' ], // CSRF TOKEN: 在kintone上执行API(POST, PUT, DELETE)时需要设置 '__REQUEST_TOKEN__': kintone.getRequestToken() }; var url = 'https://{subdomain}.cybozu.cn/k/v1/preview/app/form/fields.json'; 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));
更改表单的布局
此API仅将应用的设置反映到测试环境中,如需反映到正式环境,需要执行将应用的设置反映到正式环境中API。
URI
https://(子域名).cybozu.cn/k/v1/preview/app/form/layout.json
来宾空间内的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/preview/app/form/layout.json
HTTP 方法
PUT
必要的访问权限
应用的管理权限。
※从2020年2月版本开始可以使用API令牌来执行此API。
请求参数
以下是要指定的参数一览。
表单上的所有字段都需要指定布局。参数省略时,不会更改其设置。
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
app | 数值或字符串 | 必须 | 指定应用的ID。 |
layout | 数组 | 必须 | 用于存放表单各行的布局的数组。 |
layout[].type | 字符串 | 必须 | 指定行的种类。
|
layout[].code | 字符串 | 条件必须 | 指定表格或组合的代码。非表格也非组合的标准行,可省略此参数。 |
layout[].fields | 数组 | 用于存放行里的字段的数组。 | |
layout[].fields[].type | 字符串 | 必须 | 指定字段的类型。
|
layout[].fields[].code | 字符串 | 条件必须 | 指定字段代码。标签、空白栏以及边框不需要指定此参数。 |
layout[].fields[].label | 字符串 | 标签字段要指定标签名称。 | |
layout[].fields[].elementId | 字符串 | 空白栏字段要指定元素ID。 | |
layout[].fields[].size | 对象 | 用于存放字段大小的对象。根据布局情况,字段有可能不会按照指定的大小来显示。 | |
layout[].fields[].size.width | 数值或字符串 | 以像素为单位指定字段宽度。 仅可指定以下字段。
| |
layout[].fields[].size.height | 数值或字符串 | 以像素为单位指定包含字段名称在内的字段宽度。只有空间字段可指定。 | |
layout[].fields[].size.innerHeight | 数值或字符串 | 以像素为单位指定除字段名称之外的字段宽度。
| |
layout[].layout | 数组 | 组合内字段的数组。参数与“layout”参数一样 | |
revision | 数值或字符串 | 指定应用的设定更改之前的版本号。 如果指定的版本不是最新的,请求将报错。 如果不指定或指定为"-1",将不检查版本。 |
请求范例
头部
PUT /k/v1/preview/app/form/layout.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
正文
{ "app": 1, "revision": 2, "layout": [ { "type": "ROW", "fields": [ { "type": "SINGLE_LINE_TEXT", "code": "单行文本框", "size": { "width": 200 } }, { "type": "MULTI_LINE_TEXT", "code": "多行文本框", "size": { "width": 200, "innerHeight": 100 } }, { "type": "LABEL", "label": "label", "size": { "width": 200 } }, { "type": "SPACER", "elementId": "spacer", "size": { "width": 200, "height": 100 } }, { "type": "HR", "size": { "width": 200 } } ] }, { "type": "SUBTABLE", "code": "表", "fields": [ { "type": "NUMBER", "code": "数值", "size": { "width": 200 } } ] }, { "type": "GROUP", "code": "组", "layout": [ { "type": "ROW", "fields": [ { "type": "NUMBER", "code": "数值2", "size": { "width": 200 } } ] } ] } ] }
应答
参数
参数名称 | 值的类型 | 说明 |
---|---|---|
revision | 字符串 | 应用的设置更改之后的版本号。 |
应答的范例
{ "revision": "4" }
JavaScript范例
使用API请求发送 kintone REST API 请求
var body = { 'app': 1, 'revision': 2, 'layout': [ { 'type': 'ROW', 'fields': [ { 'type': 'SINGLE_LINE_TEXT', 'code': '单行文本框', 'size': { 'width': 200 } }, { 'type': 'MULTI_LINE_TEXT', 'code': '单行文本框', 'size': { 'width': 200, 'innerHeight': 100 } }, { 'type': 'LABEL', 'label': 'label', 'size': { 'width': 200 } }, { 'type': 'SPACER', 'elementId': 'spacer', 'size': { 'width': 200, 'height': 100 } }, { 'type': 'HR', 'size': { 'width': 200 } } ] } ] }; kintone.api(kintone.api.url('/k/v1/preview/app/form/layout', true), 'PUT', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
使用 XMLHttpRequest 请求
var body = { 'app': 1, 'revision': 2, 'layout': [ { 'type': 'ROW', 'fields': [ { 'type': 'SINGLE_LINE_TEXT', 'code': '单行文本框', 'size': { 'width': 200 } }, { 'type': 'MULTI_LINE_TEXT', 'code': '单行文本框', 'size': { 'width': 200, 'innerHeight': 100 } }, { 'type': 'LABEL', 'label': 'label', 'size': { 'width': 200 } }, { 'type': 'SPACER', 'elementId': 'spacer', 'size': { 'width': 200, 'height': 100 } }, { 'type': 'HR', 'size': { 'width': 200 } } ] } ], // CSRF TOKEN: 在kintone上执行API(POST, PUT, DELETE)时需要设置 '__REQUEST_TOKEN__': kintone.getRequestToken() }; var url = 'https://{subdomain}.cybozu.cn/k/v1/preview/app/form/layout.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));
添加字段 请参见 更改表单的设置1,更改字段的设置 请参见 更改表单的设置2