获取应用的信息

cybozu发表于:2016年11月09日 14:51:22更新于:2021年08月09日 15:05:04

Index

获取应用的信息(1条)

拥有应用查看权限的用户,可以获取应用的信息。

HTTP 方法

GET

URI

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

来宾空间内的应用

https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/app.json

必要的访问权限

需要以下至少其中一个访问权限。

  • 应用的记录查看权限

  • 应用的记录添加权限

请求参数

参数名称
必须
说明
id数值或者字符串必须
指定要获取应用信息的应用ID。

请求的范例

使用HTTP的查询字符串提交参数时

"id" 参数作为HTTP的查询字符串提交。

HTTP 的查询字符串
id=4
包含请求头部的范例
GET /k/v1/app.json?id=4 HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
  • 不需要Content-Type头部请求。

当使用JSON形式提交参数时(HTTP 请求的正文里有JSON数据时)

以下是请求范例。

请求头部
GET /k/v1/app.json HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
Content-Type: application/json
  • 请在Content-Type中指定application/json。如不指定,JSON无法识别 ,执行时将报错。

正文
{
    "id": "4"
}

应答的范例

{
  "appId": "1",
  "code": "",
  "name": "应用",
  "description": "棒棒的应用",
  "spaceId": "2",
  "threadId": "3",
  "createdAt": "2014-05-02T05:14:05.000Z",
  "creator": {
    "code": "",
    "name": ""
  },
  "modifiedAt": "2014-06-02T05:14:05.000Z",
  "modifier": {
    "code": "jenkins",
    "name": "bozu超人"
  }
}

属性

属性名类型
说明
appId字符串
应用ID
code字符串

应用代码

  • 未设置时为空字符串。

name字符串

应用名称

  • 设置了多语言时,获取的是:执行API的用户设定的语言所对应的名称。

description字符串

应用说明

  • 未设置时为空字符串。设置了多语言时,获取的是:执行API的用户设定的语言所对应的说明。

spaceId字符串空间内应用为空间ID。其他为null。
threadId字符串主题内应用为主题ID。其他为null。
createdAt字符串创建时间
creator对象
创建人信息
creator.code字符串

创建人的代码

  • 停止/删除/未使用的用户时为空字符串。

creator.name字符串

创建人的名称

  • 停止/删除/未使用的用户时为空字符串。

modifiedAt字符串更新时间
modifier对象
更新人信息
modifier.code字符串

更新人的代码

  • 停止/删除/未使用的用户时为空字符串。

modifier.name字符串

更新人的名称

  • 停止/删除/未使用的用户时为空字符串。

JavaScript范例

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

var body = {
    "id": 1
};
kintone.api(kintone.api.url('/k/v1/app', true), 'GET', body, function(resp) {
    // success
    console.log(resp);
}, function(error) {
    // error
    console.log(error);
});


使用 XMLHttpRequest 请求

var params = '?id=1';
var url = 'https://{subdomain}.cybozu.cn/k/v1/app.json' + params;
console.log(url);
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();


批量获取应用的信息

拥有应用查看权限的用户,可以批量获取满足指定条件的应用的信息。

  • 一次可获取的应用数量,最多为100个。

HTTP 方法

GET

URI

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

来宾空间内的应用

https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/apps.json

必要的访问权限

需要以下至少其中一个访问权限。

  • 应用的记录查看权限

  • 应用的记录添加权限

请求参数

参数名称类型
必须说明
ids数组
应用ID
  • 每个元素为1~9223372036854775807整数的数值或字符串。

  • 最多100个。

  • null或者空数组的情况,视为省略了参数。

codes数组
应用代码
  • 每个元素为1~64字符的字符串。

  • 精确搜索(完全一致)。

  • 区分大小写。

  • 最多100个。

  • null或者空数组的情况,视为省略了参数。

name字符串
应用名或者其中的一部分
  • 最多64个字符。

  • 模糊搜索(部分一致)。

  • 不区分大小写。

  • 使用多语言设定应用名的时候,可以检索标准应用名,以及执行API的用户的当前显示语言所对应的应用名。

  • null或者空数组的情况,视为省略了参数。

spaceIds数组
空间ID
  • 每个元素为1~9223372036854775807整数的数值或字符串。

  • 最多100个。

  • null或者空数组的情况,视为省略了参数。

limit数值或者字符串
获取的条数
  • 1~100。

  • 省略情况下为100。

offset数值或者字符串
获取到的信息里要跳过的条数
  • 0~2147483647。

  • 省略情况下为0。

请求的范例

使用HTTP的查询字符串提交参数时

用“&”连接各个参数,URL加密后作为HTTP的查询字符串提交。

获取应用信息条件的范例
  • 应用代码为“FOO”或者“BAR”

  • 应用名的一部分包含“test”

HTTP的查询字符串的范例
name=test&codes[0]=FOO&codes[1]=BAR
包含请求头部的范例
GET /k/v1/apps.json?name=TEST&codes[0]=FOO&codes[1]=BAR HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
  • 不需要Content-Type头部请求。

当使用JSON形式提交参数时(HTTP 请求的正文里有JSON数据时)

请求范例

请求头部
GET /k/v1/apps.json HTTP/1.1
Host: example.cybozu.cn:443
X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU=
Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
Content-Type: application/json
正文
{
  "codes": [
    "FOO",
    "BAR"
  ],
  "name": "TEST"
}
  • 请在Content-Type中指定application/json。如不指定,JSON无法识别 ,执行时将报错。

应答的范例

返回与指定应用程序对应的信息作为响应。

{
    "apps": [
        {
            "appId": "1",
            "code": "BAR",
            "name": "MyTestApp",
            "description": "",
            "spaceId": null,
            "threadId": null,
            "createdAt": "2014-06-02T05:14:05.000Z",
            "creator": {
                "code": "user1",
                "name": "user1"
            },
            "modifiedAt": "2014-06-02T05:14:05.000Z",
            "modifier": {
                "code": "user1",
                "name": "user1"
            }
        },
        {
            "appId": "2",
            "code": "FOO",
            "name": "TEST",
            "description": "",
            "spaceId": "123",
            "threadId": "456",
            "createdAt": "2014-06-03T05:14:05.000Z",
            "creator": {
                "code": "user2",
                "name": "user2"
            },
            "modifiedAt": "2014-06-03T05:14:05.000Z",
            "modifier": {
                "code": "user2",
                "name": "user2"
            }
        }
    ]
}

结果为0条时

{
    "apps": []
}


JavaScript范例

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

kintone.api(kintone.api.url('/k/v1/apps', true), 'GET', {}, function(resp) {
    // success
    console.log(resp);
}, function(error) {
    // error
    console.log(error);
});


使用 XMLHttpRequest 请求

var url = 'https://{subdomain}.cybozu.cn/k/v1/apps.json';
console.log(url);
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();


关联Tips