一个基于Python Tkinter的飞书多维表格图形化管理工具,提供直观易用的界面来管理飞书多维表格的字段和记录。
- 🔐 飞书认证管理: 支持App ID和App Secret认证
- 📊 字段管理: 创建、查看、编辑、删除各种类型的字段
- 📝 记录管理: 完整的记录增删改查功能
- 🔍 智能搜索: 快速搜索和高级自定义条件搜索
- 🎨 直观界面: 基于Tkinter的现代化图形界面
- 📋 批量操作: 支持批量创建和管理记录
- 🛡️ 权限检查: 自动检查和诊断API权限状态
- 📝 文本字段
- 🔢 数字字段
- ☑️ 单选/多选字段
- 📅 日期时间字段
- ✅ 复选框字段
- 👤 人员字段
- 🔗 超链接字段
- 📍 地理位置字段
- 📎 附件字段
- 快速搜索: 关键词搜索所有文本字段
- 高级搜索:
- 多字段自定义条件组合
- 支持AND/OR逻辑关系
- 智能操作符(等于、包含、大于等)
- 自定义排序和结果限制
- 查询预览功能
- Python 3.7+
- tkinter (通常随Python安装)
- 其他依赖包(见requirements.txt)
- 克隆项目
git clone https://github.com/zhangli091011/feishu-bitable-gui.git
cd feishu-bitable-gui
- 安装依赖
pip install -r requirements.txt
- 配置飞书应用
cp config.example.json config.json
编辑 config.json
文件,填入您的飞书应用信息:
{
"app_id": "您的App ID",
"app_secret": "您的App Secret",
"app_token": "您的多维表格App Token"
}
- 启动应用
python feishu_gui.py
- 在"连接配置"选项卡中输入飞书应用信息
- 点击"连接飞书"建立连接
- 选择要管理的数据表
- 在"字段管理"选项卡中查看现有字段
- 点击"创建字段"添加新字段
- 支持多种字段类型和配置选项
- 可以编辑或删除现有字段
- 在"记录管理"选项卡中查看和管理记录
- 点击"创建记录"添加新数据
- 双击记录进行编辑
- 支持批量删除操作
- 快速搜索: 输入关键词快速查找
- 高级搜索: 设置复杂的搜索条件
- 选择字段和操作符
- 设置多个条件组合
- 自定义排序和限制
- 点击"权限检查"按钮诊断API权限
- 查看详细的权限状态报告
- 根据提示配置必要的权限
- 访问飞书开放平台
- 创建企业自建应用
- 获取App ID和App Secret
- 配置API权限范围:
bitable:app:readonly
- 读取多维表格应用bitable:table:readonly
- 读取数据表bitable:field:readwrite
- 读写字段bitable:record:readwrite
- 读写记录
应用需要以下权限才能正常工作:
- 应用权限: 访问多维表格应用信息
- 表格权限: 读取表格列表和信息
- 字段权限: 创建、修改、删除字段
- 记录权限: 创建、查询、修改、删除记录
详细的权限配置步骤请参考飞书开放平台文档。
feishu-bitable-gui/
├── feishu_gui.py # 主界面程序
├── feishu_auth.py # 飞书认证模块
├── feishu_bitable.py # 多维表格字段管理
├── feishu_record.py # 记录管理模块
├── feishu_data_builder.py # 数据构建器
├── feishu_field_config.py # 字段配置辅助
├── http_client.py # HTTP客户端封装
├── field_dialogs.py # 字段操作对话框
├── record_dialogs.py # 记录操作对话框
├── search_dialogs.py # 搜索对话框
├── permission_helper.py # 权限检查辅助
├── requirements.txt # 项目依赖
├── config.example.json # 配置文件模板
├── SEARCH_GUIDE.md # 搜索功能详细指南
└── README.md # 项目说明
适合日常快速查找,支持:
- 在所有文本字段中搜索关键词
- 指定单个字段搜索
- 实时搜索结果展示
支持复杂的搜索条件:
字段类型 | 支持的操作符 |
---|---|
文本 | 等于、不等于、包含、不包含、开头是、结尾是、为空、不为空 |
数字 | 等于、不等于、大于、大于等于、小于、小于等于、为空、不为空 |
选择 | 等于、不等于、包含、不包含、为空、不为空 |
日期 | 等于、不等于、大于、大于等于、小于、小于等于、为空、不为空 |
复选框 | 等于、不等于 |
// 文本包含
SEARCH("项目", CurrentValue.[标题]) > 0
// 状态精确匹配
CurrentValue.[状态] = "进行中"
// 数值范围
CurrentValue.[分数] >= 80 AND CurrentValue.[分数] < 90
// 日期范围
CurrentValue.[创建时间] >= "2024-01-01"
A: 请检查:
- App ID和App Secret是否正确
- 网络连接是否正常
- 飞书应用是否已启用
A: 这通常是权限问题:
- 点击"权限检查"诊断权限状态
- 在飞书开放平台配置相应的API权限
- 确保应用已发布并获得管理员审批
A: 请确认:
- 选择的字段类型支持搜索
- 搜索表达式语法正确
- 字段名称拼写正确(区分大小写)
A: 可能的解决方案:
- 检查Python和tkinter版本
- 重启应用程序
- 检查系统显示缩放设置
MIT License - 详见 LICENSE 文件
欢迎提交Issue和Pull Request来改进这个项目!
⭐ 如果这个项目对您有帮助,请给个Star支持一下!