首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >飞书开放平台-发送文本&富文本消息

飞书开放平台-发送文本&富文本消息

作者头像
加多
发布于 2023-01-08 01:24:01
发布于 2023-01-08 01:24:01
1.9K00
代码可运行
举报
文章被收录于专栏:Java编程技术Java编程技术
运行总次数:0
代码可运行

前言

本文我们基于飞书开放平台提供了服务端SDK,来教下大家如何发送文本&富文本消息

代码示例

本文我们基于飞书开平提供的go-sdk进行展示,go-sdk的github地址为: https://github.com/larksuite/oapi-sdk-go

代码示例如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
package main

import (
    "context"
    "fmt"
    lark "github.com/larksuite/oapi-sdk-go/v3"
    larkcore "github.com/larksuite/oapi-sdk-go/v3/core"
    larkim "github.com/larksuite/oapi-sdk-go/v3/service/im/v1"
    "os"
)

func sendTextMsg(client *lark.Client) {

    // Build the text message content
    //content := "{\"text\":\"hello,world\\n<at user_id=\\\"ou_c245b0a7dff2725cfa2fb104f8b48b9d\\\">加多</at>\"}"
    content := larkim.NewTextMsgBuilder().
        Text("hello,world").
        AtUser("ou_c245b0a7dff2725cfa2fb104f8b48b9d", "加多").
        Build()

    resp, err := client.Im.Message.Create(context.Background(), larkim.NewCreateMessageReqBuilder().
        ReceiveIdType(larkim.ReceiveIdTypeOpenId).
        Body(larkim.NewCreateMessageReqBodyBuilder().
            MsgType(larkim.MsgTypeText).
            ReceiveId("ou_c245b0a7dff2725cfa2fb104f8b48b9d").
            Content(content).
            Build()).
        Build())

    if err != nil {
        fmt.Println(err)
        return
    }

    if !resp.Success() {
        fmt.Println(resp.Code, resp.Msg, resp.RequestId())
        return
    }

    fmt.Println(resp.Data.MessageId)
    fmt.Println(larkcore.Prettify(resp))
    fmt.Println(resp.RequestId())
}
func sendPostMsgUseBuilder(client *lark.Client) {
    // 第一行
    // 文本 &超链接
    zhCnPostText := &larkim.MessagePostText{Text: "第一行:", UnEscape: false}
    enUsPostText := &larkim.MessagePostText{Text: "英文内容", UnEscape: false}

    zhCnPostA := &larkim.MessagePostA{Text: "超链接", Href: "http://www.baidu.com", UnEscape: false}
    enUsPostA := &larkim.MessagePostA{Text: "link", Href: "http://www.baidu.com", UnEscape: false}

    // At人
    zhCnPostAt := &larkim.MessagePostAt{UserId: "ou_c245b0a7dff2725cfa2fb104f8b48b9d", UserName: "加多"}
    enCnPostAt := &larkim.MessagePostAt{UserId: "ou_c245b0a7dff2725cfa2fb104f8b48b9d", UserName: "jiaduo"}

    // 图片
    zhCnPostImage := &larkim.MessagePostImage{ImageKey: "img_v2_a66c4f79-c7b5-4899-b5e3-622766c4f82g"}
    enCnPostImage := &larkim.MessagePostImage{ImageKey: "img_v2_a66c4f79-c7b5-4899-b5e3-622766c4f82g"}

    // 第二行
    // 文本 &超链接
    zhCnPostText21 := &larkim.MessagePostText{Text: "第二行:", UnEscape: false}
    enUsPostText21 := &larkim.MessagePostText{Text: "英文内容", UnEscape: false}

    // 图片
    zhCnPostImage2 := &larkim.MessagePostImage{ImageKey: "img_v2_a66c4f79-c7b5-4899-b5e3-622766c4f82g"}
    enCnPostImage2 := &larkim.MessagePostImage{ImageKey: "img_v2_a66c4f79-c7b5-4899-b5e3-622766c4f82g"}

    // 中文
    zhCn := larkim.NewMessagePostContent().
        ContentTitle("我是一个标题").
        AppendContent([]larkim.MessagePostElement{zhCnPostText, zhCnPostA, zhCnPostAt}).
        AppendContent([]larkim.MessagePostElement{zhCnPostImage}).
        AppendContent([]larkim.MessagePostElement{zhCnPostText21}).
        AppendContent([]larkim.MessagePostElement{zhCnPostImage2}).
        Build()

    // 英文
    enUs := larkim.NewMessagePostContent().
        ContentTitle("im a title").
        AppendContent([]larkim.MessagePostElement{enUsPostA, enUsPostText, enCnPostAt}).
        AppendContent([]larkim.MessagePostElement{enCnPostImage}).
        AppendContent([]larkim.MessagePostElement{enUsPostText21}).
        AppendContent([]larkim.MessagePostElement{enCnPostImage2}).
        Build()

    // 构建消息体
    postText, err := larkim.NewMessagePost().ZhCn(zhCn).EnUs(enUs).Build()
    if err != nil {
        fmt.Println(err)
        return
    }

    resp, err := client.Im.Message.Create(context.Background(), larkim.NewCreateMessageReqBuilder().
        ReceiveIdType(larkim.ReceiveIdTypeOpenId).
        Body(larkim.NewCreateMessageReqBodyBuilder().
            MsgType(larkim.MsgTypePost).
            ReceiveId("ou_c245b0a7dff2725cfa2fb104f8b48b9d").
            Content(postText).
            Build()).
        Build())

    if err != nil {
        fmt.Println(err)
        return
    }

    if resp.Success() {
        fmt.Println(larkcore.Prettify(resp))
        fmt.Println(*resp.Data.MessageId)
    } else {
        fmt.Println(resp.RequestId(), resp.Msg, resp.Code)
    }

}

func main() {
    // 创建 api client
    var appID, appSecret = os.Getenv("APP_ID"), os.Getenv("APP_SECRET")
    client := lark.NewClient(appID, appSecret)

    // 发送文本消息
    sendTextMsg(client)

    // 发送富文本消息
    sendPostMsgUseBuilder(client)
}

运行后,机器人就会给指定的接受者发送两个消息,消息内容如下:

image.png

配套讲解视频

https://www.bilibili.com/video/BV1aD4y1y78Y/?spm_id_from=333.999.0.0&vd_source=7ccc270970b6d95e716350d3f0ebff69

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
​程序员到底该不该找副业?建议你看完这篇再做决定
最近取关了一些公众号,因为它标题太吸引人了,什么“全包100w……”、“我如何靠副业挣了200w”,看得我心血澎湃,脑子一冲动差点买下全文末尾链接处的课程。
Masutaa大师
2023/08/10
5200
​程序员到底该不该找副业?建议你看完这篇再做决定
独立开发,不失为程序员的一条出路
世界上有这么一批程序员,他们既是开发,又是产品经理,既是前端,又是后端。他们仅仅依靠个人的力量,发布了一款款别出心裁的游戏和应用。这些人有个名字,叫做独立开发者。
小灰
2022/07/05
1.8K0
独立开发,不失为程序员的一条出路
办公室VR黄片,骚操作!微软HoloLens之父辞职!
转自:新智元 | 好困 拉燕 推荐阅读: 《人生,第一次车祸。。。》 《炒币,亏了1000万。》 就在本周二,性骚扰丑闻缠身的HoloLens联合创始人Alex Kipman给微软递交了辞呈,不干了。 据知情人士爆料,收到Kipman辞呈的微软云与AI部门的负责人Scott Guthrie表示,将会对项目进行重新安排。 意思就是说,Kipman暂时还不会走,直到团队转型、工作交接完成。 给全员直播自己看「福利」 不得不说,Kipman在办公室用VR看「毛片」的事,属实闹的沸沸扬扬。 最关键的是,整个过程都「
纯洁的微笑
2022/06/27
1.2K0
办公室VR黄片,骚操作!微软HoloLens之父辞职!
我放弃大厂技术总监自由职业4年,再也不打工了!
昨天看到一位朋友说自己北漂 12 年了,我想了想自己,我是 2005 年 9月来到上海,如今已经沪漂 18 年了。
艾小仙
2023/11/14
3570
我放弃大厂技术总监自由职业4年,再也不打工了!
如果我告诉你,程序员这条路很难走,你还要坚持下去吗
可能很多人都觉得程序员是个高薪行业,动不动就听见谁月薪几万几万,心里羡慕不已。回头看自己每个月手里可怜的工资条,心里更是烦躁不已,于是乎下定决心一定要像人家一样,月薪几万。但是实际上,高薪程序员并不像人们想象中的那么轻松。
技术zhai
2018/06/03
1.8K2
早点懂这几个道理,就不害怕被裁员了
有人给我包红包说很久没写职场文了,专门点名要写一篇。最近我主要关注的点不在职场文上。但是拿人手短就好好写一篇吧。
用户1564362
2019/05/07
5010
2022 年中总结|迷失中成长的半年
距离上次总结过去半年了,这半年经历了很多的事情,经历了外企、自由职业,经历了上海全套的疫情,经历了比较 emo 的时刻,所幸技术还是在稳步成长中,也写了第二本小册,关于 ts 类型体操的。
神说要有光zxg
2022/11/11
2930
2022 年中总结|迷失中成长的半年
农村出身程序员,深漂结婚生子买房,只要努力,一切都会有!
喜极而泣,憋了很久泪水,忍不住的流下来了!花了几个小时写文章,只为忆往昔,峥嵘岁月,激励和我一样在一线城市奋斗的朋友!
龙哥
2018/10/22
7580
农村出身程序员,深漂结婚生子买房,只要努力,一切都会有!
为自己定价:做个自由职业者
前几天跟一个朋友聊起自由职业者的定价问题来。这个问题正好我比较深入地考虑过,因为有段时间我还真的想过做个无拘无束的自由职业者,享受生活的美妙。 不少人对固定工作的厌恶在于: 1) 上下班通勤。在大城市上班,路上的开销是件头疼的事情 —— 我自己一天通勤时间大概是100分钟,还得是朝六晚七,避开帝都的交通高峰期。 2) 没法掌控自己的时间 —— 不能想啥时候上班就啥时候上班,也不能进行一次「说走就走」的旅行。 3) 没法做自己最喜爱的工作,或者说总做重复的工作,成就感不强。 4) 不喜欢某个老板,某个团队,某
tyrchen
2018/03/28
8140
过年了,要不要辞职?
临近年关,忙着回家过年的同时,是不是有一种发自内心的冲动,来年该换个工作了,换工作毕竟存在风险,什么情况下,适合选择换个新环境来继续自己的职业历程,特别是对于编程方面的工作,什么情况下选择换个工作合适
程序员互动联盟
2018/03/16
8350
过年了,要不要辞职?
2023:情若能自控,要心有何用。。。。
岁末将至,人心渐老,百般滋味涌上心头,话到嘴边不值得一提。词穷不是沉默,而是一言难尽。该接受的不该接受的,都接受了,没啥不公平的,习惯了。看错人,不是瞎,是心软;信错人,不是傻,是重情义;爱错人,不是愚蠢,而是你的劫。什么事情都要自身找原因,不要苟且他人。鞋子脏了,是因为你走的路不干净。该反省的是自己的眼光和见识,永远不要怀疑自己的真诚和善良……好了,时间到了,该走了……
独泪了无痕
2023/12/27
2960
编程赚钱的7个方法
  几个星期前,当我收到一个自称Someone712的人发给我的一条消息时,我决定要写一篇如何用编程赚钱的博客文章。Someone712: 我对电子、物理和编程很感兴趣,我今年15岁,我想问问你,你如何满足财务上的实验和设备预算。你对电子和物理感兴趣吗?或只对编程感兴趣?   故而,我想和大家分享关于我是如何赚钱的,以及你可以如何开始用编程赚钱方面的内容。首先我要回答最后部分的问题:是的,我对电子和物理这两方面都很感兴趣,并且我已经决定开始工作于结合了这些领域的项目:Kerbal Space Program
用户1289394
2018/02/28
2.9K0
编程赚钱的7个方法
转行的35岁程序员们
大数据文摘转载自深燃 作者 | 李秋涵 编辑 | 魏佳 “大龄程序员去哪儿了”,10月24日程序员节当天,这成为了社交媒体上最火的话题之一。根据澎湃新闻统计,在知乎、豆瓣上关于“大龄程序员”的369个有效提问里,大龄程序员的职场成长问题最受关注,一共有242个,占到2/3。 80后程序员王妄,现在就正处于艰难的转型期。 2013年一毕业他就成为了一名程序员,写代码9年多。今年年初,他所在的大厂裁员,名单里虽然没有他,但这给他带来很大危机感。尽管他和妻子都是程序员,家庭年收入能达近百万,但面对着每月一万多元的
大数据文摘
2023/04/10
4430
转行的35岁程序员们
上班做“副业”被抓,惨遭解雇,还要退还所有工资
出品 | 程序人生(ID:coder_life) 作者 | The woman、译者 | 弯月   责编 | 郑丽媛 摘要:做副业的程序员并不少见,但一般情况下很少会有人在工作时间做,一是没时间,二是的确不太合适。然而,有个人在公司工作了十个月,最终被发现在上班时间做个人项目惨遭解雇,结果还被要求退还这十个月的工资,这是对是错? 很多程序员在忙碌的全职工作之余还会做一些兼职工作,比如从事一些自由职业项目。如果说合同上写明了允许做兼职,那么肯定没有任何问题。 然而,并非所有科技公司都会如此大度。我有一个朋友就
程序猿DD
2022/10/11
6660
分享靠写代码赚钱的一些门路
大家好,我是发哥,目前是 GitHubDaily 的主编,平时主要负责公众号与微博的推文审核工作。
磐创AI
2020/03/04
1.4K0
软技能:开启程序员的职场“破冰之旅”
在我们聊“软技能”之前,先来区分下“软技能”和“硬实力”。通常我们将自己专业方向的技能定义为 “硬技能”,以程序员为例的话,我们的算法、计算机知识和编程能力等就属于“硬技能”,是我们吃饭的家伙,大多数人等着靠他赚钱买车买房娶妻生子,但生活质量的好坏往往由“软技能”决定的,从两类技能的关系来看,“软技能”是“硬技能”的催化剂。
技术zhai
2018/06/09
6300
软技能:开启程序员的职场“破冰之旅”
也有个自由职业梦?日本码农辞职一年后:独立工程师太难了
如今,越来越多的人选择成为自由职业者,但是在AI行业,自由职业者似乎还不多见,最主要的问题是,不依赖企业名声,真的能靠自己打出一片天地吗?
大数据文摘
2020/05/19
6770
也有个自由职业梦?日本码农辞职一年后:独立工程师太难了
【独家】IT自由职业者是怎么样的感受和体验
这些都可以成为我们做自由职业者的理由和动机,可是只有这些动机,还是不够的,为什么呢?因为这些动机不足以在一次又一次的压力,焦虑和难题时支撑我们继续自由职业下去。
玄姐谈AGI
2019/11/26
1.1K0
从日本金融精英到银座下海,职场的尽头是灵活就业!
前阵子我一个在金融圈摸爬滚打的朋友说了一个大瓜,说是日本野村证券的销冠,突然转行去了银座夜总会。你以为她是混不下去了?错了,她在券商干得风生水起,是那种打两百个电话、扫一整栋写字楼都不带喘的狠人,年年拿CEO大奖,自己都快成KPI女神了。可就是这么个销售猛女,头也不回地扎进了夜场,然后,一样拿了头牌销冠,客户排队找她喝酒。这下,金融圈炸了。
通信行业搬砖工
2025/05/15
1140
从日本金融精英到银座下海,职场的尽头是灵活就业!
苏杰:如果可以重来,你还会做工作狂么?
小编说:本文作者苏杰,良仓孵化器创始合伙人,《人人都是产品经理》作者。 本文为苏杰老师为《重来3:跳出疯狂的忙碌》一书做的推荐序。《重来3》是一本由吴晓波、苏杰、范冰共同力荐,倡导“冷静”的管理指南。这本书可以刷新你的固有认知,带你重新认识工作与商业本质。 ▼扫码获取本书详情▼ 下面我们进入正文。 如果可以重来,你还会做工作狂么? 问问人们在必须完成工作的时候会去哪儿?你极少能听到这个答案:办公室。 不知《重来3:跳出疯狂的忙碌》里的这句话戳到你没有? 和《重来》系列的前两本一样,第三本依然是两位作
博文视点Broadview
2023/05/19
2250
苏杰:如果可以重来,你还会做工作狂么?
推荐阅读
相关推荐
​程序员到底该不该找副业?建议你看完这篇再做决定
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档