飞书发送消息
发送方法
使用 message 工具(推荐)
发送消息只需要一个简单的工具调用:
message(
action="send",
channel="feishu",
message="消息内容",
target="<USER_OPEN_ID>"
)
参数说明
| 参数 | 必须 | 说明 |
|------|------|------|
| action | 是 | 固定为 "send" |
| channel | 是 | 固定为 "feishu" |
| message | 是 | 消息内容(文本) |
| target | 是 | 接收者的 open_id,格式:ou_xxx |
发送步骤
- 调用
message工具,传入channel=feishu表示发往飞书 target填入接收者的 open_idmessage填入要发送的文本内容- 工具自动将消息投递到飞书
示例代码
# 发送普通文字消息
message(
action="send",
channel="feishu",
message="你好,这是一条测试消息",
target="<USER_OPEN_ID>"
)
# 发送多行消息
message(
action="send",
channel="feishu",
message="第一行\n第二行\n第三行",
target="<USER_OPEN_ID>"
)
open_id 说明
- open_id 是飞书用户的唯一标识
- open_id 是应用相关的,同一个用户在不同的应用下有不同的 open_id
- 发送消息时需要使用当前应用下的 open_id
故障排除
发送失败:need_user_authorization
- 原因:应用没有获得以用户身份发消息的权限
- 解决:用户需要在飞书里给应用授权(发送"授权"或类似指令给机器人)
发送失败:open_id cross app
- 原因:使用的 open_id 不是当前应用的
- 解决:使用正确应用下的 open_id
发送失败:权限不足
- 原因:应用缺少
im:message.send_as_user权限 - 解决:在飞书开放平台给应用开通该权限
技术原理
- 通过
message工具发送,机器人身份投递 - 不需要获取 token 或用户授权(机器人权限即可发送)
- 消息显示为机器人发送的消息
注意事项
- 飞书消息工具:使用
message工具,channel 设为feishu - 不要混淆:不要使用
feishu_im_user_message工具(该工具需要飞书会话上下文,从网页端调用会失败) - 发送者身份:通过
message工具发送的消息显示为机器人身份
微信扫一扫