更新应用的分享设置。
如在应用中存在两个名字一样的分享,或更新后分享名重复,则在调用该API时会报错。
此API仅将应用的更改反映到确认应用各动作的测试环境中。
如需反映到正式环境,执行本API后,再执行将应用的设置反映到正式环境中API。
URI
https://(子域名).cybozu.cn/k/v1/preview/app/actions.json
来宾空间内的应用:https://(子域名).cybozu.cn/k/guest/((空间ID)/v1/preview/app/actions.json
HTTP方法
PUT
必要的访问权限
应用的管理权限
请求参数
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
app | 数值或字符串 | 必须 | 指定应用的ID。 |
actions | 对象 | 必须 | 表示分享设置的对象。 |
actions.(分享名称) | 对象 | 表示各个分享设置的对象。 在“(分享名称)”中指定更新前的分享名称。 添加、更新分享时,所有现有的分享必须指定“(分享名称)”。如未指定,则删除该分享。 | |
actions.(分享名称).name | 字符串 | 条件必须 | “分享名称”在1到32个字符之间。 更改或新建分享时,必需。 更改“分享名称”时,指定更改后的“分享名称”。 |
actions.(分享名称).index | 数值或字符串 | 条件必须 | 指定分享的显示顺序。 指定“(分享名称)”时,必需。 |
actions.(分享名称).destApp | 对象 | 条件必须 | 表示“分享到”的应用信息的对象。 新建时,必需。 |
actions.(分享名称).destApp.app | 数值或字符串 | 条件必须 | 指定“分享到”应用的应用ID。 未指定“actions.(分享名称).destApp.code”时,必需。 |
actions.(分享名称).destApp.code | 字符串 | 条件必须 | 指定“分享到”应用的应用代码。 未指定“actions.(分享名称).destApp.app”时,必需。 指定了 null 或空字符时,视为未指定。 |
actions.(分享名称).mappings | 数组 | 条件必须 | 表示“关联字段”的数组。 新建分享或指定“actions.(分享名称).destApp”时,必需。 指定空数组时,设置为没有“关联字段”。 |
actions.(分享名称).mappings[].srcType | 字符串 | 条件必须 | 指定“分享来源”的类型。
指定“actions.(分享名称).mappings”,时,必需。 |
actions.(分享名称).mappings[].srcField | 字符串 | 条件必须 | 指定为“分享来源”的字段的字段代码。 |
actions.(分享名称).mappings[].destField | 字符串 | 条件必须 | 指定为“分享到”的字段的字段代码。 指定“actions.(分享名称).mappings”时,必需。 |
actions.(分享名称).entities | 数组 | 条件必须 | 表示“使用者”的数组。 新建分享时,必需。 指定空数组时,设置为没有“使用者”。 |
actions.(分享名称).entities[].type | 字符串 | 条件必须 | 指定“使用者”的类型。
指定“actions.(分享名称).entities”时,必需。 |
actions.(分享名称).entities[].code | 字符串 | 条件必须 | 指定“使用者”的字段代码。 如果是来宾用户,在用户名前加上“guest/”。 指定“actions.(分享名称).entities”时,必需。 |
revision | 数值或字符串 | 指定更改应用设定前的修订号。如指定的修订版本不是最新时,则请求失败。 |
应答的范例
头部
PUT /k/v1/preview/app/actions.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
正文
{ "app": "1", "actions": { "添加订单管理": { "name": "添加订单管理", "index": "0", "destApp": { "code": "INVOICE" }, "mappings": [ { "srcType": "FIELD", "srcField": "CompanyName", "destField": "CompanyName" }, { "srcType": "FIELD", "srcField": "DivisionName", "destField": "DivisionName" }, { "srcType": "RECORD_URL", "destField": "URL" } ], "entities": [ { "type": "USER", "code": "userA" } ] } }, "revision": "2" }
应答参数
参数名称 | 值的类型 | 说明 |
---|---|---|
actions | 对象 | 表示分享信息的对象。 |
actions.(分享名称).id | 字符串 | 分享的ID。 |
revision | 字符串 | 更改应用设定后的修订号。 |
应答的范例
{ "revision": "2", "actions": { "添加订单管理": { "id": "7319" } } }
JavaScript 范例
使用API请求发送 kintone REST API 请求
var body = { 'app': kintone.app.getId(), 'actions': { '添加订单管理': { 'name': '添加订单管理', 'index': '0', 'destApp': { 'code': 'INVOICE', }, 'mappings': [ { 'srcType': 'FIELD', 'srcField': 'CompanyName', 'destField': 'CompanyName', }, { 'srcType': 'FIELD', 'srcField': 'DivisionName', 'destField': 'DivisionName', }, { 'srcType': 'RECORD_URL', 'destField': 'URL', }, ], 'entities': [ { 'type': 'USER', 'code': 'userA', }, ], }, }, }; kintone.api(kintone.api.url('/k/v1/preview/app/actions', true), 'PUT', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
XMLHttpRequest
var body = { 'app': kintone.app.getId(), 'actions': { '添加订单管理': { 'name': '添加订单管理', 'index': '0', 'destApp': { 'code': 'INVOICE', }, 'mappings': [ { 'srcType': 'FIELD', 'srcField': 'CompanyName', 'destField': 'CompanyName', }, { 'srcType': 'FIELD', 'srcField': 'DivisionName', 'destField': 'DivisionName', }, { 'srcType': 'RECORD_URL', 'destField': 'URL', }, ], 'entities': [ { 'type': 'USER', 'code': 'userA', }, ], }, }, }; var url = 'https://{subdomain}.cybozu.cn/k/v1/preview/app/actions.json'; var xhr = new XMLHttpRequest(); xhr.open('PUT', 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();