产品

飞书消息推送怎么换行?输入\n发送不成功怎么办?

2022-09-09  本文已影响0人  王月亮17

公司用飞书的话,我们经常需要向飞书的一些群里推送消息。有些消息比较长,就涉及到格式问题,否则发到群里一乱堆,阅读起来非常不方便。
但是在近期的测试中我发现,飞书的普通文本消息如果加了\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格式不对,也是发送不成功的。

上一篇下一篇

猜你喜欢

热点阅读