美文网首页产品
飞书消息推送怎么换行?输入\n发送不成功怎么办?

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

作者: 王月亮17 | 来源:发表于2022-09-09 08:19 被阅读0次

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/dohvbrtx.html