获取应用的图表设置。
URI
URI根据正式环境还是确认应用各动作的测试环境的不同而不同。
如应用中存在两个名字一样的图表,调用该API时会报错。
获取正式环境的设置时
https://(子域名).cybozu.cn/k/v1/app/reports.json
来宾空间内的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/app/reports.json
获取确认应用各动作的测试环境的设置时
https://(子域名).cybozu.cn/k/v1/preview/app/reports.json
来宾空间内的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/preview/app/reports.json
HTTP方法
GET
必要的访问权限
应用的管理权限
请求参数
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
app | 数值或字符串 | 必须 | 指定应用的ID。 |
lang | 字符串 | 如果对字段名称设置了“多语言”,需要指定要获取语言的名称。
|
请求的范例
要发送的请求根据参数发送方式的不同而不同。以下是指定参数“app”和“lang”的请求的例子。
URL中包含参数时
GET /k/v1/app/reports.json?app=1&lang=zh HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
请求正文中包含参数时
头部
GET /k/v1/app/reports.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
正文
{ "app": 1, "lang": "zh" }
应答参数
参数名称 | 值的类型 | 说明 |
---|---|---|
reports | 对象 | 表示图表信息的对象。 |
reports.{图表名称}.chartType | 字符串 | 图表的类型。
|
reports.{图表名称}.chartMode | 字符串 | 图表的显示模式。
若 chartType 是条形图(BAR)或柱形图(COLUMN),则 NORMAL 显示为簇状。 |
reports.{图表名称}.id | 字符串 | 图表的ID。 |
reports.{图表名称}.name | 字符串 | 图表名称。指定 lang 时,该值为 lang 指定的语言所设置的名称。 |
reports.{图表名称}.index | 字符串 | 图表的顺序。 从0开始。 |
reports.{图表名称}.groups | 数组 | 表示分组项目对象的数组。仅返回已设置的项目。顺序是从上到下:大项目,中项目和小项目。 |
reports.{图表名称}.groups[].code | 字符串 | 分组项目的字段代码。 |
reports.{图表名称}.groups[].per | 字符串 | 分组项目的时间单位。
|
reports.{图表名称}.aggregations | 数组 | 表示汇总方法对象的数组。 |
reports.{图表名称}.aggregations[].type | 字符串 | 汇总方法的类型。
|
reports.{图表名称}.aggregations[].code | 字符串 | 汇总方法对象的字段代码。如果 type 为 COUNT,则不返回。 |
reports.{图表名称}.filterCond | 字符串 | 筛选条件。用查询形式显示。查询形式请参考以下页面。 |
reports.{图表名称}.sorts | 数组 | 表示排序对象的数组。 |
reports.{图表名称}.sorts[].by | 字符串 | 排序的对象。
|
reports.{图表名称}.sorts[].order | 字符串 | 排序的顺序。
|
reports.{图表名称}.periodicReport | 对象 | 定期报表的设置。未设置定期报表时,返回null。 |
reports.{图表名称}.periodicReport.active | 布尔值 | 定期报表的执行状态。
|
reports.{图表名称}.periodicReport.period | 对象 | 定期报表的汇总间隔。 |
reports.{图表名称}.periodicReport.period.every | 字符串 | 定期报表的汇总间隔的类型。
|
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 | 字符串 | 执行汇总的日期。
|
reports.{图表名称}.periodicReport.period.dayOfWeek | 字符串 | 星期几执行汇总。
|
reports.{图表名称}.periodicReport.period.minute | 字符串 | 执行汇总的分钟数。返回的值为:0、10、20、30、40、50 。仅当 every 为 HOUR 时,才返回。 |
revision | 字符串 | 应用设定的修订号。 |
应答的范例
{ "reports": { "初始设置": { "id": "7319", "chartType": "BAR", "chartMode": "NORMAL", "name": "初始设置", "index": "0", "groups": [ { "code": "单选框" } ], "aggregations": [ { "type": "COUNT" } ], "filterCond": "", "sorts": [ { "by": "TOTAL", "order": "DESC" } ], "periodicReport": null }, "各种图表的设置": { "id": "7321", "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": { "id": "7323", "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": "77" }
JavaScript范例
使用API请求发送 kintone REST API 请求
var body = { 'app': kintone.app.getId() }; kintone.api(kintone.api.url('/k/v1/app/reports', true), 'GET', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
使用 XMLHttpRequest 请求
var appId = kintone.app.getId(); var url = 'https://{subdomain}.cybozu.cn/k/v1/app/reports.json?app=' + appId + '&lang=zh'; var xhr = new XMLHttpRequest(); xhr.open('GET', url); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.onload = function() { if (xhr.status === 200) { // success console.log(JSON.parse(xhr.responseText)); } else { // error console.log(JSON.parse(xhr.responseText)); } }; xhr.send();