更改列表的设置

aki发表于:2016年12月28日 13:06:49更新于:2022年06月22日 10:07:24

更改应用列表的设置。

此API仅将应用的设置反映到测试环境中,如需反映到正式环境,需要执行将应用的设置反映到正式环境中API

使用此API进行更新时,需要在请求参数里指定现有列表的设置。
如不指定,现有设置将消失。

URI

https://(子域名).cybozu.cn/k/v1/preview/app/views.json

来宾空间内的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/preview/app/views.json

HTTP 方法

PUT

必要的访问权限

表格形式或日历形式时

  • 应用的管理权限

自定义列表形式

  • kintone系统管理权限

※只有当应用中包含显示形式为“自定义形式”的列表时,才不可使用API令牌来执行此API。

请求参数

以下是要指定的参数一览。省略参数时,其设置不会被更改。

参数名称要指定的值必须说明
app数值必须指定应用的ID。
views对象必须

列表设置的对象。可指定多个列表

添加或更新列表时,需要在参数里指定现有列表的设置,否则现有设置将消失。

views.(列表名称)对象必须每个列表设置的对象。“(列表名称)”里指定更新前的列表名称。 当在“(列表名称)”中指定不存在的列表时,它将作为新列表添加。
views.(列表名称).index字符串必须用数字指定列表的显示顺序。按照指定的数字的升序排列列表。
views.(列表名称).type字符串必须指定列表的显示形式。
  • 表格形式:LIST

  • 日历形式:CALENDAR

  • 自定义形式:CUSTOM

views.(列表名称).name字符串条件必须指定列表的名称,不得超过64个字符。添加新列表时必须指定,并且和”views(列表名称)“的键名值相同。
views.(列表名称).fields数组条件必须

指定表格形式列表中要显示的各字段的代码。
添加新列表时必须指定。
如果是已添加的列表,省略不指定时则不会更改此列表。

views.(列表名称).date字符串

日历形式列表中,作为日期使用的字段的代码。符合以下任一条件时,如果省略不指定,默认指定更新时间字段。

  • 添加新的列表

  • 更改[views.(列表名称).type]

views.(列表名称).title字符串

日历形式列表中,作为标题使用的字段的代码。符合以下任一条件时,如果省略不指定,默认指定记录编号字段。

  • 添加新的列表

  • 更改[views.(列表名称).type]

views.(列表名称).html字符串

自定义形式列表中,指定自定义时使用的HTML内容。

省略不指定时,默认空字符。

views.(列表名称).pager布尔值
指定自定义形式列表是否分页显示。
  • 显示(初始设置):true

  • 不显示:false

添加列表设置时,如果省略不指定,默认为true

添加或更新列表的设置时,如果指定空字符或为空,默认false。

views.(列表名称).device字符串

它作为自定义列表的显示:列表的显示范围。 

如果添加列表设置时不指定,则将设置为DESKTOP。 

如果更新列表设置时不指定,则将不会更改。

  • DESKTOP:仅在PC专用版上显示

  • ANY:在PC专用版和智能手机专用版上显示

views.(列表名称).filterCond字符串
记录的筛选条件。用查询形式显示。查询形式请参考以下页面。

批量获取记录(在查询中指定条件)

不指定时,不会更新筛选的设置。

添加列表的设置时,如果不指定,默认所有记录。

views.(列表名称).sort字符串
记录的排序条件。用查询形式显示。查询形式请参考以下页面。

批量获取记录(在查询中指定条件)

不指定时,不会更改排序条件。

添加列表的设置时,如果不指定,默认按照记录编号的降序排列。

revision数值
指定应用的设置更改之前的修订号。如指定的修订号不是最新的,请求将报错。
如果省略或指定“-1”,将不对修订号进行验证。

请求的范例

头部

PUT /k/v1/preview/app/views.json HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
Content-Type: application/json

正文

{
  "app": 18,
  "views": {
    "列表1": {
      "index": "0",
      "type": "LIST",
      "name": "列表1",
      "fields": [
        "记录编号",
        "单行文本框"
      ],
      "filterCond": "更新时间 > \"2012-02-03T09:00:00Z\" and 更新时间 < \"2012-02-03T10:00:00Z\"",
      "sort": "记录编号 asc"
    },
    "(执行者为自己)": {
      "index": 3,
      "type": "LIST"
    },
    "日历": {
      "index": 1,
      "type": "CALENDAR",
      "name": "日历1",
      "date": "创建时间",
      "title": "单行文本框",
      "filterCond": "更新时间 > \"2012-02-03T09:00:00Z\" and 更新时间 < \"2012-02-03T10:00:00Z\"",
      "sort": "记录编号 asc" 
    },
    "自定义": {
      "index": 2,
      "type": "CUSTOM",
      "html": "自定义的列表的HTML更新",
      "filterCond": "更新时间 > \"2012-02-03T09:00:00Z\" and 更新时间 < \"2012-02-03T10:00:00Z\"",
      "sort": "记录编号 asc",
      "device": "ANY"
    }
  }
}


应答参数

参数名称值的类型说明
revision字符串应用的设置更改之后的修订号。
views对象列表信息的对象。
views.(列表名称).id字符串列表ID。

应答的范例

{
  "views": {
    "日历": {
      "id": "1320"
    },
    "列表1": {
      "id": "1321"
    },
    "自定义": {
      "id": "1322"
    }
  },
  "revision": 2
}

JavaScript 范例

使用API请求发送 kintone REST API 请求

var body = {
  "app": 1,
  "views": {
    "列表1": {
      "index": 0,
      "type": "LIST",
      "name": "列表1",
      "fields": [
        "记录编号",
        "单行文本框"
      ],
      "filterCond": "更新时间 > \"2012-02-03T09:00:00Z\" and 更新时间 < \"2012-02-03T10:00:00Z\"",
      "sort": "记录编号 asc"
    },
    "(执行者为自己)": {
      "index": 3,
      "type": "LIST",
      "filterCond": "创建人 in (LOGINUSER())"
    },
    "日历": {
      "index": 1,
      "type": "CALENDAR",
      "name": "日历",
      "date": "创建时间",
      "title": "单行文本框",
      "filterCond": "更新时间 > \"2012-02-03T09:00:00Z\" and 更新时间 < \"2012-02-03T10:00:00Z\"",
      "sort": "记录编号 asc"
    },
    "自定义": {
      "index": 2,
      "type": "CUSTOM",
      "html": "自定义列表的HTML更新",
      "filterCond": "更新时间 > \"2012-02-03T09:00:00Z\" and 更新时间 < \"2012-02-03T10:00:00Z\"",
      "sort": "记录编号 asc"
    }
  }
};

kintone.api(kintone.api.url('/k/v1/preview/app/views', true), 'PUT', body, function(resp) {
    // success
    console.log(resp);
}, function(error) {
    // error
    console.log(error);
});

使用 XMLHttpRequest 请求

var url = 'https://{subdomain}.cybozu.cn/k/v1/preview/app/views.json';
var body = {
  "app": 1,
  "views": {
    "列表1": {
      "index": 0,
      "type": "LIST",
      "name": "列表1",
      "fields": [
        "记录编号",
        "单行文本框"
      ],
      "filterCond": "更新时间 > \"2012-02-03T09:00:00Z\" and 更新时间 < \"2012-02-03T10:00:00Z\"",
      "sort": "记录编号 asc"
    },
    "(执行者为自己)": {
      "filterCond": "创建人 in (LOGINUSER())",
      "index": 3,
      "type": "LIST"
    },
    "日历": {
      "index": 1,
      "type": "CALENDAR",
      "name": "日历",
      "date": "创建时间",
      "title": "单行文本框",
      "filterCond": "更新时间 > \"2012-02-03T09:00:00Z\" and 更新时间 < \"2012-02-03T10:00:00Z\"",
      "sort": "记录编号 asc"
    },
    "自定义": {
      "index": 2,
      "type": "CUSTOM",
      "html": "自定义列表的HTML更新",
      "filterCond": "更新时间 > \"2012-02-03T09:00:00Z\" and 更新时间 < \"2012-02-03T10:00:00Z\"",
      "sort": "记录编号 asc"
    }
  },
  // CSRF TOKEN: 在kintone上执行API(POST, PUT, DELETE)时需要设置
  "__REQUEST_TOKEN__": kintone.getRequestToken()
};
 
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));


限制事项

在应用里,如果存在和发送请求里一样的列表名字时,无法在这个API里更改设置。