在空间的主题内发表评论

aki发表于:2019年08月16日 10:12:42更新于:2021年08月09日 16:23:49

在空间的主题内发表评论

通过指定空间ID和主题ID,在主题内发表评论。

  • 提醒对象(@的对象)名字的显示语言为发表评论的用户所设置的语言。

  • 停用的用户、已删除的用户/组织/组收不到通知。

  • 来宾用户的情况,退出空间的用户的处理和被删除的用户一样。

  • 提醒对象(@的对象)中指定了正在邀请的来宾用户时,将报错。

HTTP 方法

POST

URI

https://{subdomain}.cybozu.cn/k/v1/space/thread/comment.json

来宾空间

https://{subdomain}.cybozu.cn/k/guest/{spaceId}/v1/space/thread/comment.json

必要的访问权限

空间的查看权限

※非公开空间、来宾空间的情况,仅空间成员可执行。

请求参数

参数名称要指定的值必须说明
space数值或字符串必须指定空间ID。
thread数值或字符串必须指定主题ID。
comment对象必须评论的信息。发表时的内容其构成如下。
  1. 在comment.mentions[]中指定的提醒对象的信息

  2. 在comment.text中指定的评论的内容

  3. 在comment.files[]中指定的附件

comment.text字符串条件必须评论的内容。可以用LF进行换行。评论的最大字符数为65535个字符。
必须指定comment.text和comment.files的其中一个。
comment.mentions数组
提醒对象的信息。
comment.mentions[].code字符串
提醒对象的用户/组织/组的代码。可指定的提醒对象的数量上限为10。
指定提醒对象时,会在正文的前面插入提醒对象。
comment.mentions[].type字符串

提醒对象的用户/组织/组的类型。

  • USER:用户

  • GROUP:组

  • ORGANIZATION:组织

comment.files数组条件必须

附件的数组。最多为5个。
必须指定comment.text和comment.files中的其中一个。

comment.files[].fileKey字符串

附件的key。请使用上传文件的key。

comment.files[].width数值或字符串

如果附件为图片,可以指定图片的显示宽度。最小100、最大750。
省略时,显示原始宽度(和通过页面上传指定为“原尺寸”时一样的宽度)。图片以外的文件时,无视此项。

※关于各ID请确认浏览器的地址。
 https://{subdomain}.cybozu.cn/k/#/space/250/thread/1026时,空间ID为“250”、主题ID为“1026”。

请求的范例

包含请求头部的字符串

POST /k/v1/space/thread/comment.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 无法解析,执行时会报错。

正文

{    
    "space": 250,    
    "thread": 1026,    
    "comment": {    
        "text": "今天推荐的下午茶。\n需要的同事请点赞。",    
        "mentions": [    
            {    
                "code": "chenfei",    
                "type": "USER"    
            },    
            {    
                "code": "翻译组",    
                "type": "ORGANIZATION"    
            },    
            {    
                "code": "devnet运营组 ",    
                "type": "GROUP"    
            }    
        ],    
        "files": [    
            {    
                "fileKey": "c15b3870-7505-4ab6-9d8d-b9bdbc74f5d6",    
                "width": 100   
            }    
        ]    
    }    
}

应答

返回所发表的评论的ID。

{    
    "id": 410    
}

投稿范例

0015d5b842529ff6cb1274ec486d7d0

JavaScript范例

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

var body = {    
    "space": 1001,    
    "thread": 1001,    
    "comment": {    
        "text": "今天推荐的下午茶。\n需要的同事请点赞。",    
        "mentions": [    
            {    
                "code": "chenfei",    
                "type": "USER"    
           },    
           {    
                "code": "翻译组",    
                "type": "ORGANIZATION"    
           },    
           {    
                "code": "devnet运营组",    
                "type": "GROUP"    
           }    
        ],    
        "files": [    
           {    
                "fileKey": "c15b3870-7505-4ab6-9d8d-b9bdbc74f5d6",    
                "width": 100   
           }    
        ]    
    }    
}    
kintone.api(kintone.api.url('/k/v1/space/thread/comment', true), 'POST', body, function(resp) {    
    // success    
    console.log(resp);    
}, function(error) {    
    // error    
    console.log(error);    
});

使用 XMLHttpRequest 请求

var body = {    
    "space": 1001,    
    "thread": 1001,    
    "comment": {    
        "text": "今天推荐的下午茶。\n需要的同事请点赞。",    
        "mentions": [    
            {    
                "code": "chenfei",    
                "type": "USER"    
            },    
            {    
                "code": "翻译组",    
                "type": "ORGANIZATION"    
            },    
            {    
                "code": "devnet运营组",    
                "type": "GROUP"    
            }    
        ],    
        "files": [    
            {    
                "fileKey": "c15b3870-7505-4ab6-9d8d-b9bdbc74f5d6",    
                "width": 100    
            }    
        ]    
    },    
    // CSRF TOKEN: 从kintone里执行API(POST, PUT, DELETE)时需要设置    
"__REQUEST_TOKEN__": kintone.getRequestToken()    
}    
var url = 'https://{subdomain}.cybozu.cn/k/v1/space/thread/comment.json';    
var xhr = new XMLHttpRequest();    
xhr.open('POST', 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));