关于 evernote-install-auth
用于初始化 Evernote SDK 并配置 OAuth 1.0a,以连接 Evernote Cloud API。面向需要在 Node.js 或 Python 项目中接入 Evernote 的开发者,涵盖密钥申请、认证流程和连接验证。
主要功能
- 01配置 Evernote SDK
- 02申请并设置 API 密钥
- 03实现 OAuth 1.0a 流程
- 04使用开发者令牌进行沙盒测试
- 05验证认证连接
适用场景
- 01为应用配置 Evernote API 访问
- 02在沙盒中跳过完整 OAuth 流程进行测试
- 03处理令牌过期并重新认证
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ jeremylongshore/ tons-of-skills-marketplace --skill evernote-install-auth安装后在 Claude Code 中输入/evernote-install-auth确认已加载。
附带文件references/oauth-flow.md
详细介绍
Evernote 安装与身份验证
概述
设置 Evernote SDK 并配置 OAuth 1.0a 身份验证,以访问 Evernote Cloud API。涵盖 API 密钥申请、SDK 安装、OAuth 流程实现和连接验证。
前置条件
- Node.js 18+ 或 Python 3.10+
- 包管理器(npm、pnpm 或 pip)
- Evernote 开发者账户
- Evernote 开发者门户提供的 API 密钥(需要审批,请预留 5 个工作日)
说明
步骤 1:申请 API 密钥
- 访问 Evernote 开发者门户
- 提交 API 密钥申请表
- 等待人工审批(最多 5 个工作日)
- 获取
consumerKey和consumerSecret凭据
步骤 2:安装 SDK
set -euo pipefail
# Node.js
npm install evernote
# Python
pip install evernote
步骤 3:配置环境变量
cat << 'EOF' >> .env
EVERNOTE_CONSUMER_KEY=your-consumer-key
EVERNOTE_CONSUMER_SECRET=your-consumer-secret
EVERNOTE_SANDBOX=true
EOF
步骤 4:初始化 OAuth 客户端
const Evernote = require('evernote');
const client = new Evernote.Client({
consumerKey: process.env.EVERNOTE_CONSUMER_KEY,
consumerSecret: process.env.EVERNOTE_CONSUMER_SECRET,
sandbox: process.env.EVERNOTE_SANDBOX === 'true',
china: false
});
步骤 5:实现 OAuth 流程
设置请求令牌获取、用户授权重定向和回调处理。或者,使用开发者令牌进行沙盒测试,完全跳过 OAuth 流程。
步骤 6:验证连接
创建经过身份验证的客户端,访问 getUserStore(),并调用 getUser(),确认身份验证成功。
有关完整的 OAuth 回调实现、开发者令牌设置、Python 客户端初始化和令牌过期处理,请参阅 OAuth 流程参考。
输出
- 已安装的 SDK 包,位于 node_modules 或 site-packages 中
- 已配置用于身份验证的环境变量
- 可正常工作的 OAuth 流程实现
- 成功验证连接
错误处理
| 错误 | 原因 | 解决方法 |
|---|---|---|
| consumer key 无效 | 密钥错误或尚未获批 | 在开发者门户中验证密钥 |
| OAuth 签名不匹配 | consumer secret 不正确 | 检查密钥是否与门户中的值一致 |
| 令牌已过期 | 访问令牌已超过 1 年 | 通过 OAuth 重新验证用户 |
| 达到速率限制 | API 调用过多 | 实现指数退避 |
| 权限被拒绝 | API 密钥的权限范围不足 | 申请更多权限 |
示例
沙盒快速入门:从 sandbox.evernote.com/api/DeveloperToken.action 获取开发者令牌。在 .env 中设置 EVERNOTE_DEV_TOKEN,并使用 sandbox: true 初始化客户端,以便在开发期间跳过完整的 OAuth 流程。
生产环境 OAuth:从开发者门户申请 API 密钥,使用 HTTPS 回调 URL 实现 OAuth 1.0a 流程,将访问令牌及其 edam_expires 时间戳安全存储,并安排在令牌过期前刷新。
资源
后续步骤
成功完成身份验证后,继续使用 evernote-hello-world 创建第一条笔记。