飞书群聊机器人还是比钉钉的要麻烦一点,钉钉的直接通过手机号就可以艾特群里面的人,但是飞书的要想艾特群里面的人,需要使用用户的 Open ID 或 User ID。这两个ID怎么获取呢?还需要在飞书的开放平台上创建一个应用,然后通过调用api接口查询出来!真的麻烦死了
创建群聊机器人
详细官方文档:在群组中使用机器人
一个群最多可添加 99 个机器人。创建完机器人之后,会给你一个webhook地址,后面通过这个地址接口,才可以给群成员发消息。自定义机器人的频率控制和普通应用不同,为 100 次/分钟,5 次/秒。
获取用户ID
详细官方文档:开发文档 - 飞书开放平台
向自定义机器人 webhook 地址发送 POST 请求时,支持推送的消息格式有 文本、富文本、图片消息 以及 群名片 等,其中通过文本消息即可实现@群成员功能。然后实现@群成员功能的话,还需要有用户的ID。
获取用户ID的方法
看详细官方文档:开发文档 - 飞书开放平台
需要使用飞书开放平台 API 调试台来获取,而调用这个API调试台需要一个应用,那么就需要创建一个应用:飞书开放平台
按照提示创建完成后:在左侧权限管理里面找到获取用户ID的权限,好在这两个权限申请是不需要审核的,直接申请就可以获取到。
开通权限后,需要到API调试台页面,打开这个页面,然后点击API调试台:开发文档 - 飞书开放平台,api调试台地址:开发文档 - 飞书开放平台
打开之后,还需要点击获取tenant_access_token:
然后到请求体里面,填写用户的手机号:可以填写多个,然后点击开始调试,就会反回用户的ID
发送群聊@消息
用了这个用户ID就可以添加到文本里面,实现艾特指定人的功能,下面给你一个测试的CURL,然后导入到Postman,更改你的webhook地址和用户ID即可:
curl --location '你的webhook地址' \
--header 'Content-Type: application/json' \
--data '{
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": "项目更新通知",
"content": [
[
{
"tag": "text",
"text": "项目有更新: "
},
{
"tag": "a",
"text": "请查看",
"href": "http://www.example.com/"
},
{
"tag": "at",
"user_id": "用户ID"
}
]
]
}
}
}
}'
在postman中发送消息测试:
群消息就会收到: