在工作中,通过飞书机器人推送消息的需求还是挺常见的,例如,推送监控报警、创建文档、账单确认等。在该类场景下,我们可以在群组中添加自定义机器人,自定义机器人默认提供 webhook,通过服务端调用 webhook 地址,即可将外部系统的消息通知即时推送到群组中。自定义机器人也包含了 自定义关键词、IP 白名单 和 签名 三种维度的安全配置,便于控制 webhook 的调用范围。
在该例子中,主要实现一下通过签名的方式发送简单文本消息的飞书机器人。
ToKen与SecretKey的获取:飞书文档
注意Token是https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxxxxxxxxxxxxx后那串xxxxxxxxxxxxxxxxx

SecretKey则在机器人 安全设置-签名校验
注:在代码中,可以将Token和SecretKey作为常量存起来,但是有时候为了发送到不同的群,也可以使用flag方式通过参数传入。
package main
import (
"flag"
"fmt"
"github.com/CatchZeng/feishu/pkg/feishu"
)
const (
Token = "052f427f-3f57-455a-XXXX-XXXXXXXXX"
SecretKey = "aQkBeQyAgXXXXXXXXXX"
)
func main() {
token := flag.String("token", "", "飞书机器人webhook token")
secretKey := flag.String("secret_key", "", "飞书机器人-安全设置-签名秘钥")
flag.Parse()
client := feishu.NewClient(*token, *secretKey)
// client := feishu.NewClient(Token, SecretKey)
msg := feishu.NewTextMessage()
msg.Content.Text = "hello world!"
_, response, err := client.Send(msg)
if err != nil {
panic(any(err))
}
fmt.Println(response)
}
执行:go run main.go -token=052f427f-3f57-455a-XXXX-XXXXXXXXX" -secret_key="aQkBeQyAgXXXXXXXXXX"

本文介绍了如何在飞书工作中使用自定义机器人通过webhook发送消息,包括获取Token和SecretKey的方法,以及如何在Go语言中实现发送简单文本消息的过程。
629

被折叠的 条评论
为什么被折叠?



