SuperAPI AI 工具集

evernote-common-errors

编程与开发

查看项目

更新于 10-15 23:25

技能介绍

用途:该技能用于诊断和修复 Evernote API 的常见错误,适合在遇到 API 异常、调试失败或排查集成问题时使用。

主要能力:

  1. 错误码参考:整理 EDAMUserException 的常见错误码,包括 1 BAD_DATA_FORMAT(ENML 无效或缺少 DOCTYPE)、2 DATA_REQUIRED(缺少 title、content 等必填字段)、3 PERMISSION_DENIED(API key 权限不足)、4 INVALID_AUTH(token 无效或被撤销)、5 AUTH_EXPIRED(token 过期,需检查 edam_expires 并刷新)、6 LIMIT_REACHED(账户资源超限,如 250 个笔记本)、7 QUOTA_REACHED(月度上传配额用尽,可查 user.accounting.remaining)。
  2. ENML 校验:最常见的错误是 BAD_DATA_FORMAT,可在发送前用 validateENML(content) 检查 XML 声明、DOCTYPE en-note、en-note 根节点,以及 script、form、iframe、input 等禁用元素和 class、id、onclick 等禁用属性。
  3. 系统异常处理:EDAMSystemException 多为限流或维护,限流错误会带 rateLimitDuration(需等待的秒数),可用 withRetry 按该时长等待并重试,维护类错误建议渐进退避重试。
  4. 未找到异常处理:EDAMNotFoundException 在 GUID 不存在(笔记已删除、用户不匹配、格式错误)时抛出,可用 safeGetNote 之类的安全取值模式返回 null 而非直接抛出。
  5. 集中式错误处理:可构建 EvernoteErrorHandler 服务类,对异常分类并返回包含 type、code、action、recoverable 标志的结构化结果。

使用方式:需先完成 Evernote SDK 基础配置并理解其数据模型;按错误类型选择对应处理策略,客户端错误修正输入或重新认证,服务端错误等待重试,资源不存在则校验 GUID 或检查回收站。

适用场景:Evernote API 集成开发、笔记创建失败排查、token 刷新流程、限流与配额问题定位。

限制:资料未提供具体 SDK 版本、各语言实现细节及完整 EvernoteErrorHandler 类代码,相关实现需参考其 Implementation Guide 与官方错误处理、限流、API 参考及 ENML DTD 文档。