mcpField
E
evernote-install-auth

evernote-install-auth

github.com/jeremylongshore开发2.9k49 次安装2 天前更新
代码仓库

关于 evernote-install-auth

用于初始化 Evernote SDK 并配置 OAuth 1.0a,以连接 Evernote Cloud API。面向需要在 Node.js 或 Python 项目中接入 Evernote 的开发者,涵盖密钥申请、认证流程和连接验证。

主要功能

  1. 01配置 Evernote SDK
  2. 02申请并设置 API 密钥
  3. 03实现 OAuth 1.0a 流程
  4. 04使用开发者令牌进行沙盒测试
  5. 05验证认证连接

适用场景

  1. 01为应用配置 Evernote API 访问
  2. 02在沙盒中跳过完整 OAuth 流程进行测试
  3. 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 密钥
  1. 访问 Evernote 开发者门户
  2. 提交 API 密钥申请表
  3. 等待人工审批(最多 5 个工作日)
  4. 获取 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 创建第一条笔记。

评论

支持 Markdown