# feishu-doc **Repository Path**: mutigmss/feishu-doc ## Basic Information - **Project Name**: feishu-doc - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-01 - **Last Updated**: 2025-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Feishu Doc Synchronization Project ## 项目介绍 这是一个用于将飞书多维表格数据同步到本地数据库的Spring Boot项目。该项目实现了以下功能: 1. 通过API/SDK获取指定的飞书多维表格数据并保存到数据库 2. 监听飞书多维表格数据变化(新增、修改、删除)并自动更新数据库 3. 识别表格中的图像或引用数据的类型(图片/表格/Word)并记录对应的链接 ## 环境要求 - JDK 1.8+ - Maven 3.6+ - MySQL 5.7+ - 飞书开发者账号和应用 ## 配置说明 ### 1. 配置数据库 需要在MySQL中创建数据库: ```sql CREATE DATABASE feishu_doc; ``` ### 2. 配置飞书应用 1. 在飞书开放平台创建一个企业自建应用 2. 为应用添加必要的权限(多维表格读写权限等) 3. 获取App ID、App Secret和Tenant Key 4. 获取需要同步的多维表格的Sheet ID和Table ID ### 3. 配置应用属性 在`src/main/resources/application.properties`中配置以下信息: ```properties # 数据库配置 spring.datasource.url=jdbc:mysql://localhost:3306/feishu_doc?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true spring.datasource.username=root spring.datasource.password=your_mysql_password # 飞书配置 feishu.appId=your_app_id feishu.appSecret=your_app_secret feishu.tenantKey=your_tenant_key # 多维表格配置 feishu.sheetId=your_sheet_id feishu.tableId=your_table_id ``` ## 使用方法 ### 1. 编译和运行项目 ```bash mvn clean install mvn spring-boot:run ``` ### 2. API接口 #### 手动触发数据同步 ``` GET /api/feishu/sync-all ``` #### 飞书Webhook事件接收 ``` POST /api/feishu/webhook ``` #### 健康检查 ``` GET /api/feishu/health ``` ### 3. 定时同步 项目默认配置了每小时自动同步一次数据,可以在`FeishuSyncScheduler.java`中修改同步频率。 ## 项目结构 ``` src/main/java/com/example/feishudoc/ ├── FeishuDocApplication.java # 应用程序入口 ├── config/ # 配置类 │ └── AppConfig.java # 应用配置 ├── controller/ # 控制器 │ └── FeishuController.java # API接口控制器 ├── model/ # 数据模型 │ └── FeishuData.java # 飞书数据实体类 ├── repository/ # 数据访问层 │ └── FeishuDataRepository.java # 数据仓库接口 ├── scheduler/ # 定时任务 │ └── FeishuSyncScheduler.java # 飞书数据同步定时任务 └── service/ # 业务逻辑层 └── FeishuService.java # 飞书相关业务逻辑 ``` ## 注意事项 1. 确保飞书应用的权限配置正确 2. 确保数据库连接配置正确 3. 如需使用Webhook功能,需要在飞书开放平台配置相应的回调地址 4. 对于大型表格,可能需要调整同步策略以避免性能问题