更改应用的JavaScript/CSS自定义的设置。
URI
https://(子域名).cybozu.cn/k/v1/preview/app/customize.json
来宾空间的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/preview/app/customize.json
HTTP方法
PUT
必要的访问权限
kintone的系统管理权限
应用的管理权限
※不可使用API令牌来执行此API。
请求参数
可指定的参数列表。省略的参数其设置不会被更改。
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
app | 数值或字符串 | 必须 | 应用的ID。 |
scope | 字符串 | 指定自定义的应用范围。
| |
desktop | 对象 | 通过PC导入的文件的对象。 | |
desktop.js | 数组 | JavaScript文件信息的数组。 | |
desktop.js[].type | 字符串 | 文件的添加方法。
| |
desktop.js[].url | 字符串 | 如在“desktop.js[].type”参数中指定“URL”,则在此指定文件的URL。 包括desktop.js[].file在内最多只能添加30个。 | |
desktop.js[].file | 对象 | 通过上传添加的文件信息的对象。如在“desktop.js[].type”参数中指定“FILE”,则在此指定对象。 包括desktop.js[].url在内最多只能添加30个。 | |
desktop.js[].file.fileKey | 字符串 | 如要添加文件,请指定用以下API获取的文件的key。 上传文件 如要保留现有的文件,请指定用获取preview版的设置的API获取的同一参数的key。 | |
desktop.css | 数组 | CSS文件信息的数组。 | |
desktop.css[].type | 字符串 | 文件的添加方法。
| |
desktop.css[].url | 字符串 | 如在“desktop.css[].type”参数中指定“URL”,则在此指定文件的URL。 包括desktop.css[].file在内最多只能添加30个。 | |
desktop.css[].file | 对象 | 通过上传添加的文件信息的对象。如在“desktop.css[].type”参数中指定“FILE”,则在此指定对象。 包括desktop.css[].url在内最多只能添加30个。 | |
desktop.css[].file.fileKey | 字符串 | 如要添加文件,请指定用以下API获取的文件的key。 上传文件 如要保留现有的文件,请指定用获取preview版的设置的API获取的同一参数的key。 | |
mobile | 对象 | 通过移动端导入的文件的对象。 | |
mobile.js | 数组 | JavaScript文件信息的数组。 | |
mobile.js[].type | 字符串 | 文件的添加方法。
| |
mobile.js[].url | 字符串 | 如在“mobile.js[].type”参数中指定“URL”,则在此指定文件的URL。 | |
mobile.js[].file | 对象 | 通过上传添加的文件信息的对象。如在“mobile.js[].type”参数中指定“FILE”,则在此指定对象。 | |
mobile.js[].file.fileKey | 字符串 | 如要添加文件,请指定用以下API获取的文件的key。 | |
mobile.css | 数组 | CSS文件信息的数组。 | |
mobile.css[].type | 字符串 | 文件的添加方法。
| |
mobile.css[].url | 字符串 | 如在“mobile.css[].type”参数中指定“URL”,则在此指定文件的URL。 | |
mobile.css[].file | 对象 | 通过上传添加的文件信息的对象。如在“mobile.css[].type”参数中指定“FILE”,则在此指定对象。 | |
mobile.css[].file.fileKey | 字符串 | 如要添加文件,请指定用以下API获取的文件的key。 上传文件 | |
revision | 数值或字符串 | 指定应用的设置变更之前的版本号。如指定的版本号不是最新的,会发生请求错误。 省略时或指定为“-1”时,不会检查版本号。 |
请求的范例
头部
PUT /k/v1/preview/app/customize.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
正文
{ "app": 21, "scope": "ALL", "desktop": { "js": [ { "type": "URL", "url": "https://www.example.cn/example.js" }, { "type": "FILE", "file": { "fileKey": "ddfc8e89-7aa3-4350-b9ab-3a75c9cf46b3" } } ], "css": [] }, "mobile": { "js": [ { "type": "FILE", "file": { "fileKey": "20150519023802B3EB762E870645F889B22F9D4F1F3059023" } }, { "type": "URL", "url": "https://www.example.cn/example-mobile.js" } ], "css": [] }, "revision": 15 }
应答参数
参数名称 | 值的类别 | 说明 |
---|---|---|
revision | 字符串 | 应用的设置更改之后的版本号。 |
应答的范例
{ "revision": "3" }
JavaScript范例
使用API请求发送 kintone REST API 请求
var body = { "app": 1, "scope": "ALL", "desktop": { "js": [ { "type": "URL", "url": "https://www.example.cn/example.js" }, { "type": "FILE", "file": { "fileKey": "ddfc8e89-7aa3-4350-b9ab-3a75c9cf46b3" } } ], "css": [] }, "mobile": { "js": [ { "type": "FILE", "file": { "fileKey": "20150519023802B3EB762E870645F889B22F9D4F1F3059023" } }, { "type": "URL", "url": "https://www.example.cn/example-mobile.js" } ], "css": [] } } kintone.api(kintone.api.url('/k/v1/preview/app/customize', true), 'PUT', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
使用 XMLHttpRequest 请求
var body = { "app": 1, "scope": "ALL", "desktop": { "js": [ { "type": "URL", "url": "https://www.example.cn/example.js" }, { "type": "FILE", "file": { "fileKey": "ddfc8e89-7aa3-4350-b9ab-3a75c9cf46b3" } } ], "css": [] }, "mobile": { "js": [ { "type": "FILE", "file": { "fileKey": "20150519023802B3EB762E870645F889B22F9D4F1F3059023" } }, { "type": "URL", "url": "https://www.example.cn/example-mobile.js" } ], "css": [] }, // CSRF TOKEN: 从kintone上执行API(POST, PUT, DELETE)时需要设置 "__REQUEST_TOKEN__": kintone.getRequestToken() }; var url = 'https://{subdomain}.cybozu.cn/k/v1/preview/app/customize.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));