更改JavaScript / CSS自定义的设置

aki发表于:2019年07月31日 12:55:12更新于:2023年02月16日 17:11:02

更改应用的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字符串
指定自定义的应用范围。
  • 所有用户时:ALL

  • 仅限应用的管理员时:ADMIN

  • 禁用时:NONE

desktop对象
通过PC导入的文件的对象。
desktop.js数组
JavaScript文件信息的数组。
desktop.js[].type字符串
文件的添加方法。
  • 通过URL添加时:URL

  • 通过上传添加时:FILE

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字符串
文件的添加方法。
  • 通过URL添加时:URL

  • 通过上传添加时:FILE

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字符串
文件的添加方法。
  • 通过URL添加时:URL

  • 通过上传添加时:FILE

mobile.js[].url字符串

如在“mobile.js[].type”参数中指定“URL”,则在此指定文件的URL。
包括mobile.js[].file在内最多只能添加30个。

mobile.js[].file对象

通过上传添加的文件信息的对象。如在“mobile.js[].type”参数中指定“FILE”,则在此指定对象。
包括mobile.js[].url在内最多只能添加30个。

mobile.js[].file.fileKey字符串

如要添加文件,请指定用以下API获取的文件的key。
上传文件
如要保留现有的文件,请指定用获取preview版的设置的API获取的同一参数的key。

mobile.css数组
CSS文件信息的数组。
mobile.css[].type字符串

文件的添加方法。

  • 通过URL添加时:URL

  • 通过上传添加时:FILE

mobile.css[].url字符串

如在“mobile.css[].type”参数中指定“URL”,则在此指定文件的URL。
包括mobile.css[].file在内最多只能添加30个。

mobile.css[].file对象

通过上传添加的文件信息的对象。如在“mobile.css[].type”参数中指定“FILE”,则在此指定对象。
包括mobile.css[].url在内最多只能添加30个。

mobile.css[].file.fileKey字符串
如要添加文件,请指定用以下API获取的文件的key。

上传文件
如要保留现有的文件,请指定用获取preview版的设置的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));