飞书开放平台非官方SDK, 个人开发, 请谨慎使用
支持自定义机器人、长连接机器人、云文档、飞书卡片、消息、群组、招聘管理等API调用。
🎉 最新更新
v0.13.1 WebSocket 关键修复 🔧
- 🐛 关键问题修复: 修复 WebSocket frame payload 解析回归问题
- 📡 完整示例: websocket_client.rs 添加完整的连接和事件处理功能
- 🧪 测试覆盖: 完整的单包和多包消息处理测试
v0.12.0+ 全面文档完善与质量提升 📚
- 📝 完整中文文档: 43个服务模块100%文档覆盖,企业级文档标准
- ✅ 文档测试保证: 72个文档测试100%通过,确保示例代码正确性
- 🎯 开发者友好: 丰富的使用示例、最佳实践指导、层次化文档结构
- 🔧 零警告构建: 消除所有文档警告,提供清洁的开发体验
v0.11.0+ 现代化Builder模式与统一错误处理 ⭐
- 🏗️ Builder模式: 流畅链式调用,支持Contact、IM、Drive等核心服务,完全向后兼容
- 📦 统一错误处理: StandardResponse机制,详细错误信息与智能建议
- ⚡ 类型安全: ExecutableBuilder特征,编译时参数验证,现代化异步执行
v0.11.0 招聘管理系统 🚀
- 🎯 企业级招聘: 6大服务模块,100+ API接口,完整业务流程
- 📊 智能管理: 人才库、面试、Offer、内推等全功能覆盖
v0.8.0 AI能力支持 🤖
- 🧠 智能识别: 17种证件文档、OCR、语音识别、机器翻译
- 📊 22个AI API: 覆盖企业智能化应用全场景
v0.6.0 企业级错误处理 🛡️
- 智能分析: 错误自动分析、重试机制、实时监控
- 完整重构: 68个文件优化,消除2000+个clone调用
功能特性 (Feature Flags)
从 v0.12.0 开始,open-lark 支持按需编译,你可以只启用需要的服务模块,显著减少编译时间和二进制文件大小。
默认功能
[]
= "0.13.2" # 包含: im, cloud-docs, contact, group, authentication, search
仅使用云文档 API
[]
= { = "0.13.2", = false, = ["cloud-docs"] }
仅使用消息 API
[]
= { = "0.13.2", = false, = ["im"] }
启用所有功能
[]
= { = "0.13.2", = ["full"] }
可用的功能模块
核心服务 (默认启用)
im- 即时消息cloud-docs- 云文档 (包含 drive, sheets, bitable 等)contact- 通讯录group- 群组管理authentication- 认证服务search- 搜索功能
高级服务 (按需启用)
hire- 招聘管理calendar- 日历服务approval- 审批流程attendance- 考勤管理vc- 视频会议ai- AI 服务helpdesk- 服务台- 更多服务请参考
Cargo.toml
使用
将.env-example文件重命名为.env,并填写相关配置。
快速开始 - 招聘管理
use *;
use *;
async
快速开始 - 企业级错误处理
use *;
use ;
async
快速开始 - 组织架构管理
use *;
use *;
async
快速开始 - 考勤模块
use *;
async
考勤事件监听
use EventDispatcherHandler;
let handler = builder
.register_p2_attendance_user_task_updated_v1
.register_p2_attendance_user_task_status_change_v1
.build;
AI 能力使用示例
use *;
use ;
async
🏗️ 现代化Builder模式与统一错误处理 - v0.11.0+ 重大升级 ⭐
🎯 核心特性
我们在v0.11.0+版本中全面升级了API设计,引入了现代化Builder模式和StandardResponse统一错误处理机制:
- 🔗 流畅链式调用: 更直观的API使用体验
- 🛡️ 类型安全保证: 编译时参数验证,减少运行时错误
- 📦 统一错误处理:
StandardResponse.into_result()提供一致的错误处理 - ⚡ 异步执行支持:
ExecutableBuilder特征实现现代化异步模式 - 🔄 完全向后兼容: 传统API调用方式仍然完全支持
- 🎯 条件构建: 更优雅地处理可选参数和动态配置
🚀 Contact服务Builder模式示例
传统方式 (仍然支持)
let request = CreateUserRequest ;
let response = client.contact.v3.user.create.await?;
新Builder模式 (推荐)
use ExecutableBuilder;
let response = client
.contact
.v3
.user
.create_user_builder
.user
.user_id_type
.department_id_type
.execute
.await?;
📁 IM文件和图片服务Builder模式 (v0.11.0+ 新增)
文件上传Builder模式
use ExecutableBuilder;
// 文件上传
let upload_result = client
.im
.v1
.file
.upload_builder
.file_type
.file_name
.file_data
.execute
.await?;
println!;
// 文件下载
let download_result = client
.im
.v1
.file
.download_builder
.file_key
.execute
.await?;
println!;
图片上传Builder模式
// 图片上传
let image_upload = client
.im
.v1
.image
.upload_builder
.image_type
.image_data
.execute
.await?;
// 图片下载
let image_download = client
.im
.v1
.image
.download_builder
.image_key
.execute
.await?;
🔄 批量操作和高级用法
// 条件构建示例
let mut builder = client
.contact
.v3
.user
.create_user_builder
.user;
// 条件性添加参数
if use_open_id
if include_department
let response = builder.execute.await?;
// 批量文件上传示例
let files = ;
for in files
🛡️ 统一错误处理
StandardResponse机制提供详细的错误信息和智能处理建议:
use LarkAPIError;
match result
📚 完整示例代码
查看以下示例了解完整的使用方法:
- unified_builder_pattern.rs - Builder模式基础用法
- im_modern_builder_pattern.rs - IM消息服务Builder模式
- im_file_image_builder_pattern.rs - IM文件图片服务Builder模式
- drive_builder_pattern.rs - Drive服务Builder模式
🎯 最佳实践总结
- 🏗️ 新项目推荐使用Builder模式 - 提供更好的开发体验
- 🔄 渐进式迁移 - 现有代码可以逐步迁移到Builder模式
- 🛡️ 统一错误处理 - 使用
StandardResponse.into_result()获得一致的错误体验 - ⚡ 异步优先 - 使用
.execute()方法获得现代化异步体验 - 🎯 类型安全 - 利用Rust类型系统防止参数错误
- 📝 文档完整 - 每个Builder都有详细的使用示例和测试
已完成
认证与授权
- 自建应用获取 tenant_access_token
企业信息
- 获取企业信息
- 获取企业席位信息
认证信息
- 获取认证信息
自定义机器人
- 发送消息
- 签名验证
长连接机器人
- 接收事件推送
- 完整IM事件监控 (消息撤回、群聊管理、成员变更等)
云文档
云空间
- 文件夹
- 获取我的空间元信息
- 获取文件夹元信息
- 新建文件夹
- 获取文件夹下的清单
- 上传
- 上传文件
- 下载
- 下载文件
权限
- 获取云文档权限设置
- 更新云文档权限设置
电子表格
- 表格
- 创建表格
- 修改电子表格属性
- 获取电子表格信息
- 工作表
- 查询工作表
- 获取工作表
- 操作工作表
- 更新工作表属性
- 行列
- 增加行列
- 插入行列
- 更新行列
- 移动行列
- 删除行列
- 单元格
- 插入数据
- 追加数据
- 读取单个范围
- 向单个范围写入数据
- 读取多个范围
- 向多个范围写入数据
- 设置单元格样式
- 批量设置单元格样式
- 写入图片
- 合并单元格
- 拆分单元格
- 查找单元格
- 替换单元格
- 筛选
- 获取筛选
- 创建筛选
- 更新筛选
- 删除筛选
多维表格
- 多维表格
- 获取多维表格元数据
- 字段
- 列出字段
- 记录
- 新增记录
- 查询记录
- 新增多条记录
- 更新记录
通讯录
- 用户
- 搜索用户
组织架构 (Directory v1) 🎉 v0.12.0 新增
- 员工管理
- 创建员工
- 更新员工信息
- 获取员工列表
- 批量获取员工信息
- 搜索员工
- 设置员工为待离职
- 恢复员工为在职状态
- 恢复离职员工
- 离职员工
- 部门管理
- 创建部门
- 更新部门信息
- 获取部门列表
- 批量获取部门信息
- 搜索部门
- 删除部门
飞书卡片
卡片组件
- 卡片回传交互
- 容器
- 分栏
- 表单容器
- 交互容器
- 折叠面板
- 展示
- 标题
- 普通文本
- 富文本(Markdown)
- 图片
- 多图混排
- 分割线
- 人员
- 人员列表
- 图表
- 表格
- 备注
- 交互
- 输入框
- 按钮
- 折叠按钮组
- 下拉选择-单选
- 下拉选择-多选
- 人员选择-单选
- 人员选择-多选
- 日期选择器
- 时间选择器
- 日期时间选择器
- 多图选择
- 勾选器
消息
- 发送消息
- 获取会话历史消息
- 消息内容结构
- 发送消息内容
- 文本
- 富文本
- 图片
- 卡片
- 发送消息内容
- 事件 (IM)
- 接收消息
- 消息已读
- 消息撤回
- 群聊创建/更新/解散
- 群成员添加/移除
群组
- 获取用户或机器人所在的群列表
招聘管理 🎉 v0.11.0 新增
招聘相关配置
- 地址管理: 地点列表查询、地址信息获取
- 权限管理: 角色管理、用户权限分配
- 职位管理: 职位全生命周期管理(创建、发布、更新、关闭)
- 招聘需求: 招聘需求创建、模板管理
- 招聘流程: 招聘流程配置、阶段管理
- 项目管理: 招聘项目组织、成员管理
- 面试设置: 面试配置、评价表管理
- Offer设置: Offer配置、审批流程设置
获取候选人
- 内推管理: 内推信息、奖励管理
- 官网管理: 招聘官网、职位发布、投递管理
- 猎头管理: 猎头供应商、保护期、推荐管理
- 外部系统: 第三方HR系统集成
候选人管理
- 人才库: 人才池组织、人才分组管理
- 人才管理: 人才档案、标签、批量导入
- 投递管理: 投递创建、流程推进、状态管理
- 面试管理: 面试安排、评估、结果记录
- Offer管理: Offer发放、审批、接受流程
生态对接
- 背调管理: 背调订单、报告管理
- 笔试管理: 在线笔试、试卷、成绩管理
内推账户
- 账户管理: 内推账户创建、余额查询、收入记录
- 提现管理: 提现申请、审批流程、账户启停
- 统计分析: 内推统计数据、奖励计算
附件管理
- 文件管理: 简历、证书等附件上传下载
- 批量操作: 文件预览、批量操作
考勤管理 🎉 v0.5.0 新增
考勤班次
- 创建班次
- 删除班次
- 按 ID 查询班次
- 按名称查询班次
- 查询所有班次
考勤排版
- 创建或修改排班表
- 查询排班表
- 创建或修改临时排班
考勤管理
- 查询考勤组下所有成员
- 创建或修改考勤组
- 删除考勤组
- 按 ID 查询考勤组
- 按名称查询考勤组
- 查询所有考勤组
考勤用户管理
- 修改用户人脸识别信息
- 批量查询用户人脸识别信息
- 上传用户人脸识别照片
- 下载用户人脸识别照片
考勤统计
- 更新统计设置
- 查询统计表头
- 查询统计设置
- 查询统计数据
假勤审批
- 获取审批数据
- 写入审批结果
- 通知审批状态更新
考勤补卡
- 通知补卡审批发起
- 获取可补卡时间
- 获取补卡记录
归档报表
- 查询归档报表表头
- 写入归档报表结果
- 删除归档报表行数据
- 查询所有归档规则
打卡信息管理
- 导入打卡流水
- 查询打卡流水
- 批量查询打卡流水
- 删除打卡流水
- 查询打卡结果
休假管理
- 通过过期时间获取发放记录
- 修改发放记录
考勤事件
- 打卡流水事件处理
- 用户任务状态变更事件处理
AI 能力
智能文档处理
- 识别文件中的简历信息
- 识别文件中的身份证
- 识别文件中的驾驶证
- 识别文件中的银行卡
- 识别文件中的营业执照
- 识别文件中的增值税发票
- 提取文件中的合同字段
- 识别文件中的名片
- 识别文件中的机动车发票
- 识别文件中的健康证
- 识别文件中的港澳居民来往内地通行证
- 识别文件中的台湾居民来往大陆通行证
- 识别文件中的中国护照
- 识别文件中的行驶证
- 识别文件中的火车票
- 识别文件中的出租车发票
- 识别文件中的食品生产许可证
- 识别文件中的食品经营许可证
光学字符识别
- 识别图片中的文字
语音识别
- 识别语音文件
- 识别流式语音
机器翻译
- 识别文本语种
- 翻译文本
📊 功能完成度统计
| 模块 | API数量 | 完成状态 | 说明 |
|---|---|---|---|
| 🔐 认证与授权 | 1 | ✅ 100% | 应用身份验证 |
| 🏢 企业信息 | 2 | ✅ 100% | 企业基础信息与席位管理 |
| 🛡️ 认证信息 | 1 | ✅ 100% | 应用认证状态与权限信息 |
| 🤖 自定义机器人 | 2 | ✅ 100% | 消息发送与签名验证 |
| 🔗 长连接机器人 | 1 | ✅ 100% | 事件推送接收 |
| ☁️ 云文档-云空间 | 7 | ✅ 100% | 文件夹管理、上传下载 |
| 🛡️ 云文档-权限 | 2 | ✅ 100% | 权限设置管理 |
| 📊 云文档-电子表格 | 33 | ✅ 100% | 完整表格操作功能 |
| 📋 云文档-多维表格 | 6 | ✅ 100% | 数据表操作 |
| 👥 通讯录 | 1 | ✅ 100% | 用户搜索 |
| 🏢 组织架构 | 15 | ✅ 100% | v0.12.0 新增 - 完整员工与部门管理 |
| 🎨 飞书卡片 | 25 | ✅ 100% | 完整卡片组件系统 |
| 💬 消息 | 8 | ✅ 100% | 消息发送、接收与完整IM事件监控 |
| 👥 群组 | 1 | ✅ 100% | 群组管理 |
| 🔍 搜索 | 14 | ✅ 100% | 套件搜索与搜索连接器管理 |
| 🏢 考勤管理 | 43 | ✅ 100% | 完整考勤解决方案 |
| ⚙️ 个人设置 | 7 | ✅ 100% | 系统状态管理 |
| 🤖 AI能力 | 22 | ✅ 100% | v0.8.0 新增 - 智能文档处理、OCR、语音识别、机器翻译 |
| 🎯 招聘管理 | 100+ | ✅ 100% | v0.11.0 新增 - 完整招聘管理系统 |
| 🛡️ 错误处理系统 | 5 | ✅ 100% | v0.6.0 新增 - 企业级错误管理 |
| 📈 总计 | 291+ | ✅ 100% | 覆盖企业应用核心功能 |
🎯 v0.11.0 招聘管理系统亮点
- 6大核心服务模块 招聘配置、候选人获取、候选人管理、生态对接、内推账户、附件管理
- 100+ API接口 覆盖招聘全流程,从职位发布到候选人入职
- 200+ 数据结构 类型安全的数据模型定义,充分利用Rust类型系统
- 企业级特性 模块化设计、异步支持、错误处理、国际化支持、分页查询
- 完整文档示例 详细的API文档、完整的功能演示、技术实现报告
🎯 v0.6.0 企业级错误处理系统亮点
- 5大核心模块 错误监控、重试中间件、日志系统、智能分析、错误码支持
- 30+ 业务错误码 覆盖飞书生态全域,语义化分类管理
- 24个单元测试 100%通过率,确保系统稳定性
- 智能化体验 从技术错误到用户友好,AI级别的错误分析和建议
- 企业级特性 实时监控、自动重试、结构化日志、告警系统
🎯 v0.5.0 考勤模块特性
- 41个API 覆盖班次、排班、统计、审批等全业务流程
- 2个事件处理器 支持实时考勤数据监听
- 43个示例 每个功能都有完整的使用演示
- 企业级特性 支持复杂的考勤规则和业务场景
📚 文档和资源
招聘管理系统文档
- 招聘系统实现报告 - 详细的技术架构和功能说明
- hire_v1_example.rs - 完整的招聘系统功能演示
错误处理系统文档
示例程序
- hire_v1_example.rs - 招聘管理系统完整演示
- comprehensive_error_codes_demo.rs - 扩展错误码系统演示
- enhanced_error_handling.rs - 增强错误处理演示
- permission_owned_demo.rs - owned参数模式演示
API文档
🚀 特性优势
企业级文档体系
- 完整中文文档 - 43个服务模块100%文档覆盖,专为中国开发者优化
- 质量保证 - 72个文档测试确保示例代码正确性,零警告构建
- 开发者友好 - 丰富的使用示例、最佳实践指导、层次化文档结构
- 企业级标准 - 统一的文档格式和规范,便于团队协作和维护
企业级招聘管理
- 全流程覆盖 - 从职位发布到候选人入职的完整业务流程
- 多渠道集成 - 内推、官网、猎头、外部系统等多种人才来源
- 智能化管理 - 人才库管理、标签系统、搜索筛选、评估体系
- 模块化设计 - 清晰的功能分层和服务组织,易于扩展
企业级错误处理
- 零配置使用 - 开箱即用的合理默认配置
- 类型安全 - Rust强类型系统防止错误,统一的
SDKResult<T>类型 - 并发安全 - Arc/Mutex确保多线程环境安全
- 模块化设计 - 每个模块可独立使用和扩展
性能优化
- 异步处理 - 全面使用async/await,零阻塞操作
- 内存效率 - 消除2000+个不必要的clone调用
- 智能缓存 - 自动token缓存管理
- 零开销抽象 - 编译时优化,运行时高效
开发体验
- 用户友好 - 智能错误分析,自动生成修复建议
- 完整文档 - 技术架构文档,30+个示例程序
- 类型提示 - 完整的类型定义和IDE支持
- 测试覆盖 - 全面的测试覆盖,确保代码质量
📋 TODO
目前主要功能模块均已完成,后续计划:
- 更多AI能力集成
- 更多事件处理器支持
- 性能优化和缓存策略
- 更多示例和文档
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT OR Apache-2.0
