SuperAPI AI 工具集

evernote-local-dev-loop

编程与开发

查看项目

更新于 10-15 23:25

技能介绍

用途:为 Evernote API 集成配置本地开发工作流,包含沙箱测试、热重载、ENML 辅助函数和本地 Express 服务器用于 OAuth 测试。前置条件:已完成 evernote-install-auth 设置,Node.js 18+ 或 Python 3.10+,以及 Evernote 沙箱账号(资料中未给出完整 URL)。

主要能力:按服务、工具、中间件分层组织项目结构,并提供测试与脚本目录;通过 .env.development 与 .env.production 区分沙箱与生产凭据,并将 .env* 加入 .gitignore;提供客户端工厂,依据环境在 Developer Token(用于脚本和测试)与 OAuth(用于 Web 应用)之间切换;提供 ENML 工具函数,如 wrapInENML、textToENML、htmlToENML(剥离禁用元素)和 validateENML,以减少 BAD_DATA_FORMAT 错误;搭建带会话管理的 Express 服务器,包含 /auth/start、/auth/callback 和 /dashboard 路由以测试 OAuth 流程。

使用方式:在 .env.development 中配置 EVERNOTE_CONSUMER_KEY、EVERNOTE_CONSUMER_SECRET、EVERNOTE_DEV_TOKEN、EVERNOTE_SANDBOX、NODE_ENV 和 PORT 等变量。快速验证时,创建 scripts/test-connection.js,调用 userStore.getUser() 与 noteStore.listNotebooks(),运行 node scripts/test-connection.js。验证 OAuth 时启动 Express 服务器,访问 http://localhost:3000/auth/start 完成授权,并确认访问令牌存入会话。

常见错误与处理:EVERNOTE_DEV_TOKEN 未设置时,从沙箱开发者令牌页面获取;consumer key 无效时,核对 EVERNOTE_SANDBOX 与密钥类型是否匹配;session undefined 时,安装并配置 express-session;端口占用时修改 .env 中的 PORT 或终止占用进程。

限制:需先完成 evernote-install-auth;需要沙箱账号与相应凭据;资料未提供定价、性能数据或具体生产部署说明。