返回开发日志
飞书多维表同步工具2026-07-04v4.0.1

NaT/URL错误修复+飞书API错误码日志优化+日志分隔优化

bug修复v4.0.1

需求描述

  1. 运行飞书数据同步任务时闪退(NaTType does not support strftime)和 URLFieldConvFail 错误码1254068
  2. 按飞书官方文档通用错误码优化日志
  3. 优化日志分隔:同一任务不同文件间明显分隔,不同任务间更明显分隔

改动文件清单

文件改动内容
core/executor.pyNaT修复(pd.isna+try/except双重保护)、URL字段修复(无效URL返回None跳过)、飞书错误码映射(38个错误码)、日志分隔(═60/─50)、_log_feishu_api_error() 统一错误日志方法
feishu_api_v3.py连接验证阶段错误码处理
gui_sync.py版本号 4.0.0 → 4.0.1

技术要点

  • NaT值处理:pandas NaT 虽有 strftime 方法但调用会抛 ValueError,需用 pd.isna(value) 预过滤,加 try/except 双重保护
  • URL字段(type=15)处理:飞书超链接字段要求 link 以 http:// 或 https:// 开头;无协议域名自动补 http://;非URL文本返回 None 跳过
  • 错误码映射:FEISHU_BITABLE_ERRORS(33个多维表专属 1254003~1254607)+ FEISHU_COMMON_ERRORS(5个通用),lookup_feishu_error() 解析返回 code/name/desc/advice/known
  • 日志分隔格式:任务开始/结束 ═══════ ║ 任务「xxx」开始执行 ═══════(60个═),文件间 ───── │ 文件 1/3: xxx.xlsx ─────(50个─),异常退出 ═══════ ║ 任务「xxx」执行异常退出 ═══════
  • 非通用错误码自动生成飞书开放平台搜索链接 https://open.feishu.cn/search?q={错误码}

踩坑与解决

  • NaT 修复需同时修改 _convert_to_records_convert_to_records_with_rownum 两个方法
  • 错误码处理需区分连接验证阶段(feishu_api_v3.py)和数据同步阶段(core/executor.py),避免重复逻辑