核心用法
本技能用于飞书机器人发送非图片/视频的普通文件(HTML、ZIP、PDF、代码文件等)。由于飞书API限制,必须采用两步流程:先调用文件上传接口获取 file_key,再使用 file_key 发送消息。
脚本方式(推荐):执行 send_file.py 脚本,传入文件路径、用户open_id、app_id和app_secret即可一键完成上传+发送。
手动方式:先获取tenant_access_token,再POST上传文件提取file_key,最后POST发送消息携带file_key。
显著优点
- 脚本封装简化了两步流程,降低操作门槛
- 支持所有普通文件类型(stream模式通用)
- 明确区分图片/视频(直接用message tool)与普通文件的使用场景
- 参数说明清晰,open_id提取规则明确
潜在缺点与局限性
- 依赖外部Python脚本,环境需预装Python3
- 需要手动管理app_id/app_secret,存在凭证暴露风险
- 仅覆盖单聊场景(open_id),群聊(chat_id)需自行替换参数
- 无错误处理、重试机制说明
- 未提供文件大小限制、频率限制等边界信息
适合人群
- 已部署飞书机器人的开发者/运维人员
- 需要通过自动化流程向用户交付文件报告的场景
- 熟悉curl命令和基本API调用的技术人员
常规风险
- 凭证泄露:app_secret在命令行明文传递可能被历史记录保存
- 权限越界:获取的token默认tenant级别,未限制最小权限范围
- 文件注入:未校验上传文件内容,恶意文件可能通过机器人传播
- 日志残留:脚本执行过程中token和file_key可能留在进程日志