Skillshub evernote-install-auth

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/jeremylongshore/claude-code-plugins-plus-skills/evernote-install-auth" ~/.claude/skills/comeonoliver-skillshub-evernote-install-auth && rm -rf "$T"
manifest: skills/jeremylongshore/claude-code-plugins-plus-skills/evernote-install-auth/SKILL.md
source content

Evernote Install & Auth

Overview

Set up the Evernote SDK and configure OAuth 1.0a authentication for accessing the Evernote Cloud API. Covers API key provisioning, SDK installation, OAuth flow implementation, and connection verification.

Prerequisites

  • Node.js 18+ or Python 3.10+
  • Package manager (npm, pnpm, or pip)
  • Evernote developer account
  • API key from Evernote developer portal (requires approval, allow 5 business days)

Instructions

Step 1: Request an API Key

  1. Navigate to the Evernote developer portal
  2. Submit the API key request form
  3. Wait for manual approval (up to 5 business days)
  4. Receive
    consumerKey
    and
    consumerSecret
    credentials

Step 2: Install the SDK

set -euo pipefail
# Node.js
npm install evernote

# Python
pip install evernote

Step 3: Configure Environment Variables

cat << 'EOF' >> .env
EVERNOTE_CONSUMER_KEY=your-consumer-key
EVERNOTE_CONSUMER_SECRET=your-consumer-secret
EVERNOTE_SANDBOX=true
EOF

Step 4: Initialize the OAuth Client

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
});

Step 5: Implement the OAuth Flow

Set up request token acquisition, user authorization redirect, and callback handling. Alternatively, use a developer token for sandbox testing to skip the OAuth flow entirely.

Step 6: Verify the Connection

Create an authenticated client, access

getUserStore()
, and call
getUser()
to confirm authentication succeeds.

For the complete OAuth callback implementation, developer token setup, Python client initialization, and token expiration handling, see OAuth flow reference.

Output

  • Installed SDK package in node_modules or site-packages
  • Environment variables configured for authentication
  • Working OAuth flow implementation
  • Successful connection verification

Error Handling

ErrorCauseResolution
Invalid consumer keyWrong or unapproved keyVerify key in the developer portal
OAuth signature mismatchIncorrect consumer secretCheck secret matches the portal value
Token expiredAccess token older than 1 yearRe-authenticate the user via OAuth
Rate limit reachedToo many API callsImplement exponential backoff
Permission deniedInsufficient API key scopeRequest additional permissions

Examples

Sandbox quickstart: Obtain a developer token from

sandbox.evernote.com/api/DeveloperToken.action
. Set
EVERNOTE_DEV_TOKEN
in
.env
and initialize the client with
sandbox: true
to skip the full OAuth flow during development.

Production OAuth: Request an API key from the developer portal, implement the OAuth 1.0a flow with an HTTPS callback URL, store the access token securely alongside its

edam_expires
timestamp, and schedule token refresh before expiration.

Resources

Next Steps

After successful auth, proceed to

evernote-hello-world
for the first note creation.