飞书群聊机器人还是比钉钉的要麻烦一点,钉钉的直接通过手机号就可以艾特群里面的人,但是飞书的要想艾特群里面的人,需要使用用户的 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中发送消息测试:
群消息就会收到: