获取通知条件(记录)

betsy_yan发表于:2021年02月24日 14:18:37更新于:2022年05月10日 12:12:20

获取通知条件(记录)的设置。

URI

获取正式环境的设置时所使用的URI跟获取测试环境设置时不一样。

获取正式环境的设置时

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

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

获取测试环境的设置时

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

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

HTTP方法

GET

必要的访问权限

应用的管理权限

请求参数

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

如对选择字段的选项设置了“多语言”,需要指定要获取的名称的语言。
记录条件的查询字符串将显示相应语言的名称。

  • 获取日语的名称时:ja

  • 获取英语的名称时:en

  • 获取中文的名称时:zh

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

  • 获取默认的名称时:default

省略时,获取默认名称。

请求的范例

要发送的请求根据参数发送方式的不同而不同。以下是指定参数“app”和“lang”的请求的例子。

URL中包含参数时

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


请求正文中包含参数时
头部

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


正文

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


应答参数

参数名称值的类型说明
notifications数组用于存放设置通知条件对象的数组。
notifications[].filterCond字符串记录的条件。用查询语句格式表示。查询语句格式请参考以下页面。
批量获取记录(在查询中指定条件)
notifications[].title字符串通知内容。
notifications[].targets数组表示通知对象的对象数组。
notifications[].targets[].entity对象表示通知对象的对象。
notifications[].targets[].entity.type字符串通知对象的类型。
  • USER:用户

  • GROUP:组

  • ORGANIZATION:组织

  • FIELD_ENTITY:创建人 / 更新人 / 选择用户 / 选择组织 / 选择组字段

notifications[].targets[].entity.code字符串

通知对象的字段代码。
根据 notifications[].targets[].entity.type 的值,返回如下值。

FIELD_ENTITY 时:字段代码
除此以外:通知对象

如果是来宾用户,在用户名前加上“guest/”。

notifications[].targets[].includeSubs布尔值是否将设置继承给其下属组织。
除非 notifications[].targets[].entity.type 在 ORGANIZATION 或 FIELD_ENTITY 中指定了选择组织字段,否则始终返回False。
  • true:继承

  • false:不继承

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

应答的范例

{
  "notifications": [
    {
      "filterCond": "选择用户字段 in (\"user1\")",
      "title": "已选择user1",
      "targets": [
        {
          "entity": {
            "type": "USER",
            "code": "user1"
          },
          "includeSubs": false
        }
      ]
    }
  ],
  "revision": "2"
}


JavaScript范例

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

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