获取应用的分享设置

betsy_yan发表于:2021年03月17日 16:27:04更新于:2023年02月16日 14:37:47

获取应用的分享设置。

如在应用中存在两个名字一样的分享,调用该API时会报错。

URI

获取正式环境的设置时所使用的URI跟获取确认应用各动作的测试环境设置时不一样。

获取正式环境的设置时

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

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

获取确认应用各动作的测试环境的设置时

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

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

HTTP方法

GET

必要的访问权限

应用的管理权限

请求参数

参数名称要指定的值必须说明
app数值或字符串必须指定应用的ID。
lang字符串

设置“多语言”时,需要指定要获取语言的名称。

  • 获取日语的名称时:ja

  • 获取英语的名称时:en

  • 获取中文的名称时:zh

  • 获取登录用户的语言设置时:user
    *当登录用户的语言设置为“与Web浏览器的设置相同”时,
    如果头部中指定“Accept-Language”,则使用该设置。
    如果不指定“Accept-Language”,则使用cybozu.cn系统管理的“本地化设置”中的语言设置。

  • 获取默认的名称时:default

省略时,获取默认名称。

请求的范例

URL中包含参数时

GET /k/v1/app/actions.json?app=8&lang=zh HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=


请求正文中包含参数时

头部

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


正文

{
  "app": 8,
  "lang": "zh"
}


应答参数

参数名称值的类型说明
actions对象表示分享设置的对象。
actions.(分享名称)对象

表示各个分享设置的对象。

即使指定了 lang,也会返回默认语言设置的分享名称。

actions.(分享名称).name字符串分享名称。
如果指定了 lang,则返回“多语言”中设置的值。
actions.(分享名称).id字符串分享的ID。
actions.(分享名称).index字符串分享的顺序(从0开始)。
actions.(分享名称).destApp对象表示“分享到”的应用信息的对象。
actions.(分享名称).destApp.app字符串作为“分享到”应用的应用ID。
actions.(分享名称).destApp.code字符串作为“分享到”应用的应用代码。
如若尚未设置应用代码,则返回空字符。
actions.(分享名称).mapping数组表示“关联字段”的数组。
如若未设置关联,则返回空数组。
actions.(分享名称).mappings[].srcType字符串

“分享来源”的类型。

  • FIELD:字段

  • RECORD_URL:记录的 URL

actions.(分享名称).mappings[].srcField字符串

指定为“分享来源”的字段的字段代码。

仅当 actions.(分享名称).mappings[].srcType 为 FIELD 时,才返回。

actions.(分享名称).mappings[].destField字符串

指定为“分享到”的字段的字段代码。

actions.(分享名称).entities数组

表示"使用者"的数组。

actions.(分享名称).entities[].type字符串

"使用者"的类型。

  • USER:用户

  • GROUP:组

  • ORGANIZATION:组织

actions.(分享名称).entities[].code字符串

"使用者"的字段代码。
如果是来宾用户,在用户名前加上“guest/”。

revision字符串应用设定的修订号。

应答的范例

{
  "actions": {
    "分享A": {
      "name": "分享A",
      "id": "1",
      "index": "0",
      "destApp": {
        "app": "2",
        "code": "APPB"
      },
      "mappings": [
        {
          "srcType": "FIELD",
          "srcField": "数值",
          "destField": "数值"
        },
        {
          "srcType": "RECORD_URL",
          "destField": "URL"
        }
      ],
      "entities": [
        {
          "type": "USER",
          "code": "userA"
        }
      ]
    }
  },
  "revision": "2"
}


JavaScript 范例

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

var body = {
  'app': kintone.app.getId(),
  'lang': 'zh'
};
kintone.api(kintone.api.url('/k/v1/app/actions', 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/actions?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();