一个支持了 500 多个飞书/Lark 的开放接口的 Go SDK

2021-09-24 15:36:07 +08:00
 Chyroc

项目地址是: https://github.com/chyroc/lark

项目参考了 gitlab 的 sdk 的写法,统一参数和返回值的写法,支持了近 500 个接口和 50 个回调事件类型的处理,欢迎大家 star 。

项目是 5 个月前开始写的,自由发展到现在,有了 70 个 star,在 feishu-sdk 这个 topic ( https://github.com/topics/feishu-sdk ) 下已经排名第一了,所以发到 V2EX 上介绍给需要的同学。

飞书 /Lark 最近发展比较快,开放平台的接口数量也一直在猛增。之前手动维护过一段时间 sdk,后来发现手动维护不现实,改成了代码读取文档,然后自动生成代码的方式维护 sdk,也就是本项目。

因为是自动生成的关系,所以支持了几乎所有的接口,包括联系人、消息、群组、日历、文档等等等等。

下面以一个创建日历的场景,给出 sdk 非常简单易用的例子:

cli := lark.New(lark.WithAppCredential("<APP_ID>", "<APP_SECRET>"))

resp, _, err := cli.Calendar.CreateCalendar(ctx, &lark.CreateCalendarReq{
    Summary: ptr.String("<SUMMARY>"),
})
fmt.Println(resp, err)
1495 次点击
所在节点    分享创造
3 条回复
shuqin2333
2021-09-24 15:41:17 +08:00
怎么通过代码读取文档然后自动生成 api 的
Chyroc
2021-09-24 15:44:32 +08:00
@shuqin2333 三步

1 、先下载文档
2 、然后把 html 格式的文档通过 xpath,正则,文本匹配等方式,转成一个特定格式的 json
3 、然后将 json 格式的文档,通过模板等方式,转成 go 的代码(这一步可以扩展支持 python,rust 等)
kidblg
2021-09-24 15:44:58 +08:00
python 的案例会更新吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/803937

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX