更改应用的图表设置。
如应用中存在两个名字一样的图表,或者更新后发生了图表名字重复的情况,执行该API时会报错。
此API仅将应用的更改反映到确认应用各动作的测试环境中。
如需反映到正式环境,执行本API后,需要执行将应用的设置反映到正式环境中API。
URI
https://(子域名).cybozu.cn/k/v1/preview/app/reports.json
来宾空间内的应用
https://(子域名).cybozu.cn/k/guest/(空间ID)/v1/preview/app/reports.json
HTTP 方法
PUT
必要的访问权限
应用的管理权限
请求参数
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
app | 数值或字符串 | 必须 | 指定应用的ID。 |
reports | 对象 | 必须 | 表示图表信息的对象。 |
reports.{图表名称} | 对象 | 表示各个图表设置的对象。 在“{图表名称}”中指定更新前的图表名称。 添加或更新图表时,必须为所有现有的图表指定出它的“{图表名称}”。 如未指定,则将删除此图表。 | |
reports.{图表名称}.chartType | 字符串 | 条件必须 | 图表的类型。
指定“{图表名称}”时,必须指定此参数。 |
reports.{图表名称}.chartMode | 字符串 | 条件必须 | 图表的显示模式。
若 chartType 是条形图(BAR)或柱形图(COLUMN),则 NORMAL 显示为簇状。 若 chartType 是面积图(AREA)或曲面图(SPLINE_AREA),则 NORMAL 显示为无堆积。 当 chartType 是 BAR、COLUMN、AREA 或 SPLINE_AREA时,则必须指定 chartMode。 |
reports.{图表名称}.name | 字符串 | 条件必须 | 图表名称。 添加图表时,必需。添加时如与 reports.{图表名称} 不同,则会发生错误。 请指定1到64个字符之间。 |
reports.{图表名称}.index | 数值或字符串 | 条件必须 | 图表的顺序。 按图表的值升序排列。 指定“{图表名称}”时必填。 |
reports.{图表名称}.groups | 数组 | 条件必须 | 表示分组项目对象的数组。 按指定顺序,大项目、中项目、小项目进行设置。可在数组中指定3个元素。 reports.{图表名称}.chartType 为 PIVOT_TABLE 时,指定的数目小于1个时,则会发生错误。 添加图表时,必需。 |
reports.{图表名称}.groups[].code | 字符串 | 条件必须 | 分组项目的字段代码。 |
reports.{图表名称}.groups[].per | 字符串 | 条件必须 | 分组项目的时间单位。
code 中指定以下字段时,则必需。
|
reports.{图表名称}.aggregations | 数组 | 条件必须 | 表示汇总方法对象的数组。 数组中最多可指定10个元素。 reports.{图表名称}.chartType 为 PIVOT_TABLE时、只能指定1个。 添加图表时,必需。 |
reports.{图表名称}.aggregations[].type | 字符串 | 条件必须 | 汇总方法的类型。
指定 reports.{图表名称}.aggregations 参数时,必需。 |
reports.{图表名称}.aggregations[].code | 字符串 | 条件必须 | 汇总方法对象的字段代码。 type 不是 COUNT 时必需。 当 type 为 SUM 或 AVERAGE 时,可以指定以下字段。
type 为 MAX、MIN 时可以指定以下字段。
|
reports.{图表名称}.filterCond | 字符串 | 筛选条件。 用查询形式显示。查询形式请参考以下页面。 当添加时省略,则与指定“所有记录”时相同。 当更新时省略,则不更改设置。 如果指定了已删除的用户、组织、组,则返回错误。 | |
reports.{图表名称}.sorts | 数组 | 条件必须 | 表示排序对象的数组。 数组的元素可以指定3个。 添加图表时,必需。 |
reports.{图表名称}.sorts[].by | 字符串 | 条件必须 | 排序的对象。
指定 reports.{图表名称}.sorts 参数时,必需。 |
reports.{图表名称}.sorts[].order | 字符串 | 条件必须 | 排序的顺序。
指定 reports.{图表名称}.sorts 参数时,必需。 |
reports.{图表名称}.periodicReport | 对象 | 定期报表的设置。 设置定期报表后,除了以下参数外,无法更改其他参数。
当更新时省略,则不更改设置。 | |
reports.{图表名称}.periodicReport.active | 布尔值或字符串 | 定期报表的执行状态。
当初始设置定期报表省略时,则为 true 。 | |
reports.{图表名称}.periodicReport.period | 对象 | 条件必须 | 定期报表的汇总间隔。 |
reports.{图表名称}.periodicReport.period.every | 字符串 | 条件必须 | 定期报表的汇总间隔的类型。
指定 reports.{图表名称}.periodicReport.period 参数时,必需。 |
reports.{图表名称}.periodicReport.period.month | 数值或字符串 | 条件必须 | 执行汇总的月份。 该值是1到12之间的整数。 every 为 YEAR 时,必需。 |
reports.{图表名称}.periodicReport.period.time | 字符串 | 条件必须 | 执行汇总的时间。 格式为 HH:mm 的形式。 every 为 YEAR、QUARTER、MONTH、WEEK、DAY 时,必需。 |
reports.{图表名称}.periodicReport.period.pattern | 字符串 | 条件必须 | 执行季度汇总的月份。
every 为 QUARTER 时,必需。 |
reports.{图表名称}.periodicReport.period.dayOfMonth | 字符串 | 条件必须 | 执行汇总的日期。
every 为 YEAR、QUARTER、MONTH 时,必需。 |
reports.{图表名称}.periodicReport.period.dayOfWeek | 字符串 | 条件必须 | 星期几执行汇总。
every 为 WEEK 时,必需。 |
reports.{图表名称}.periodicReport.period.minute | 数值或字符串 | 条件必须 | 执行汇总的分钟数。 可选的值是 0、10、20、30、40、50 。 every 为 HOUR 时,必需。 |
revision | 数值或字符串 | 预期应用设定的修订号。 |
应答的范例
PUT /k/v1/preview/app/reports.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
正文
{ "app": "1", "reports": { "初始设置": { "chartType": "BAR", "chartMode": "NORMAL", "name": "初始设置", "index": "0", "groups": [ { "code": "单选框" } ], "aggregations": [ { "type": "COUNT" } ], "filterCond": "", "sorts": [ { "by": "TOTAL", "order": "DESC" } ], "periodicReport": null }, "各种图表的设置": { "chartType": "TABLE", "name": "各种图表的设置", "index": "1", "groups": [ { "code": "单选框" }, { "code": "创建时间", "per": "YEAR" }, { "code": "时间", "per": "MINUTE" } ], "aggregations": [ { "type": "COUNT" }, { "type": "SUM", "code": "数值" }, { "type": "AVERAGE", "code": "计算" }, { "type": "MAX", "code": "创建时间" }, { "type": "MIN", "code": "时间" } ], "filterCond": "记录编号 = \"1\" and 文本编辑器 like \"aaa\"", "sorts": [ { "by": "TOTAL", "order": "DESC" }, { "by": "GROUP1", "order": "ASC" }, { "by": "GROUP2", "order": "DESC" } ], "periodicReport": null }, "定期报表ON": { "chartType": "BAR", "chartMode": "NORMAL", "name": "定期报表ON", "index": "2", "groups": [ { "code": "单选框" } ], "aggregations": [ { "type": "COUNT" } ], "filterCond": "", "sorts": [ { "by": "TOTAL", "order": "DESC" } ], "periodicReport": { "active": true, "period": { "every": "QUARTER", "pattern": "JAN_APR_JUL_OCT", "dayOfMonth": "END_OF_MONTH", "time": "23:30" } } } }, "revision": "2" }
应答
参数
参数名称 | 値の種類 | 説明 |
---|---|---|
revision | 字符串 | 更新后应用设定的修订号。 |
reports | 对象 | 图表的信息。 |
reports.{图表名称}.id | 字符串 | 图表的ID。 |
应答的范例
{ "revision": "2", "reports": { "初始设置": { "id": "7319" }, "各种图表的设置": { "id": "7321" }, "定期报表ON": { "id": "7323" } } }
JavaScript 范例
使用API请求发送 kintone REST API 请求
var body = { 'app': kintone.app.getId(), 'reports': { '初始设置': { 'chartType': 'BAR', 'chartMode': 'NORMAL', 'name': '初始设置', 'index': '0', 'groups': [ { 'code': '单选框' } ], 'aggregations': [ { 'type': 'COUNT' } ], 'filterCond': '', 'sorts': [ { 'by': 'TOTAL', 'order': 'DESC' } ], 'periodicReport': null }, '各种图表的设置': { 'chartType': 'TABLE', 'name': '各种图表的设置', 'index': '1', 'groups': [ { 'code': '单选框' }, { 'code': '创建时间', 'per': 'YEAR' }, { 'code': '时间', 'per': 'MINUTE' } ], 'aggregations': [ { 'type': 'COUNT' }, { 'type': 'SUM', 'code': '数值' }, { 'type': 'AVERAGE', 'code': '计算' }, { 'type': 'MAX', 'code': '创建时间' }, { 'type': 'MIN', 'code': '时间' } ], 'filterCond': '记录编号 = \'1\' and 文本编辑器 like \'aaa\'', 'sorts': [ { 'by': 'TOTAL', 'order': 'DESC' }, { 'by': 'GROUP1', 'order': 'ASC' }, { 'by': 'GROUP2', 'order': 'DESC' } ], 'periodicReport': null }, '定期报表ON': { 'chartType': 'BAR', 'chartMode': 'NORMAL', 'name': '定期报表ON', 'index': '2', 'groups': [ { 'code': '单选框' } ], 'aggregations': [ { 'type': 'COUNT' } ], 'filterCond': '', 'sorts': [ { 'by': 'TOTAL', 'order': 'DESC' } ], 'periodicReport': { 'active': true, 'period': { 'every': 'QUARTER', 'pattern': 'JAN_APR_JUL_OCT', 'dayOfMonth': 'END_OF_MONTH', 'time': '23:30' } } } }, 'revision': '2' }; kintone.api(kintone.api.url('/k/v1/preview/app/reports', true), 'PUT', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
使用 XMLHttpRequest 的请求
var body = { 'app': kintone.app.getId(), 'reports': { '初始设置': { 'chartType': 'BAR', 'chartMode': 'NORMAL', 'name': '初始设置', 'index': '0', 'groups': [ { 'code': '单选框' } ], 'aggregations': [ { 'type': 'COUNT' } ], 'filterCond': '', 'sorts': [ { 'by': 'TOTAL', 'order': 'DESC' } ], 'periodicReport': null }, '各种图表的设置': { 'chartType': 'TABLE', 'name': '各种图表的设置', 'index': '1', 'groups': [ { 'code': '单选框' }, { 'code': '创建时间', 'per': 'YEAR' }, { 'code': '时间', 'per': 'MINUTE' } ], 'aggregations': [ { 'type': 'COUNT' }, { 'type': 'SUM', 'code': '数值' }, { 'type': 'AVERAGE', 'code': '计算' }, { 'type': 'MAX', 'code': '创建时间' }, { 'type': 'MIN', 'code': '时间' } ], 'filterCond': '记录编号 = \'1\' and 文本编辑器 like \'aaa\'', 'sorts': [ { 'by': 'TOTAL', 'order': 'DESC' }, { 'by': 'GROUP1', 'order': 'ASC' }, { 'by': 'GROUP2', 'order': 'DESC' } ], 'periodicReport': null }, '定期报表ON': { 'chartType': 'BAR', 'chartMode': 'NORMAL', 'name': '定期报表ON', 'index': '2', 'groups': [ { 'code': '单选框' } ], 'aggregations': [ { 'type': 'COUNT' } ], 'filterCond': '', 'sorts': [ { 'by': 'TOTAL', 'order': 'DESC' } ], 'periodicReport': { 'active': true, 'period': { 'every': 'QUARTER', 'pattern': 'JAN_APR_JUL_OCT', 'dayOfMonth': 'END_OF_MONTH', 'time': '23:30' } } } }, 'revision': '2', // CSRF TOKEN: 在kintone上执行API(POST,PUT,DELETE)时必须设置 '__REQUEST_TOKEN__': kintone.getRequestToken() }; var url = 'https://{subdomain}.cybozu.cn/k/v1/preview/app/reports.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));