公司用飞书的话,我们经常需要向飞书的一些群里推送消息。有些消息比较长,就涉及到格式问题,否则发到群里一乱堆,阅读起来非常不方便。
但是在近期的测试中我发现,飞书的普通文本消息如果加了\n或者其他转义字符,就发送不出去,但是换行是一定要换的。今天就分享一下飞书消息换行的方法,希望大家能少走些弯路,能直接拿去用就最好了。
其实飞书消息分好几个类型的,今天我们的主角就是富文本类型。
普通文本不能换行,只能从富文本入手了。富文本类型的消息写起来比较复杂格式如下:
{
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": "项目更新通知",
"content": [
[{
"tag": "text",
"text": "项目有更新: "
},
{
"tag": "a",
"text": "请查看",
"href": "http://www.example.com/"
},
{
"tag": "at",
"user_id": "ou_18eac8********17ad4f02e8bbbb"
}
]
]
}
}
}
}
content中是一个数组,数组的每一项是一行,一行可以有多个内容也可以只有一个内容,内容可以是文字、超链接、图片,还可以@别人。今天主要就是为了解决换行的问题,其他的就先不聊了。
只要把内容拼成上面JSON的样式,然后发送消息即可。
下面是拼JSON的代码举例,有更好的方式也可以不参考。我拼的这个是从zh_cn这层开始的,更外层的直接写死在发飞书的方法里了。
// 开头
StringBuilder pushBuilder = new StringBuilder();
pushBuilder.append("{\"zh_cn\":{\"title\":\"这里写标题");
pushBuilder.append("\",\"content\":[");
// 一行内容
pushBuilder.append("[{\"tag\":\"text\",\"text\":\"一行内容\"}],");
// 结尾
pushBuilder.append("]}}");
另外需要注意,如果你某行内容中包含JSON,记得把它转成普通字符串的格式,否则JSON格式不对,也是发送不成功的。
网友评论