evernote-install-auth

Evernote Install & Auth

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "evernote-install-auth" with this command: npx skills add jeremylongshore/claude-code-plugins-plus-skills/jeremylongshore-claude-code-plugins-plus-skills-evernote-install-auth

Evernote Install & Auth

Overview

Set up Evernote SDK and configure OAuth 1.0a authentication for accessing the Evernote Cloud API.

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 API Key

  • Go to Evernote Developer Portal

  • Request an API key via the contact form

  • Wait for manual approval (up to 5 business days)

  • Receive your consumerKey and consumerSecret

Step 2: Install SDK

set -euo pipefail

Node.js

npm install evernote

Python

pip install evernote

Step 3: Configure Environment

Create .env file

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

Step 4: Initialize OAuth Client

// Node.js - Initialize client for OAuth flow 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 });

Python - Initialize client

from evernote.api.client import EvernoteClient

client = EvernoteClient( consumer_key='your-consumer-key', consumer_secret='your-consumer-secret', sandbox=True )

Step 5: Implement OAuth Flow

// Step 5a: Get request token and redirect URL const callbackUrl = 'http://localhost:3000/oauth/callback'; # 3000: 3 seconds in ms

client.getRequestToken(callbackUrl, (error, oauthToken, oauthTokenSecret) => { if (error) { console.error('Failed to get request token:', error); return; }

// Store tokens in session (required for callback) req.session.oauthToken = oauthToken; req.session.oauthTokenSecret = oauthTokenSecret;

// Redirect user to Evernote authorization page const authorizeUrl = client.getAuthorizeUrl(oauthToken); res.redirect(authorizeUrl); });

// Step 5b: Handle OAuth callback app.get('/oauth/callback', (req, res) => { const oauthVerifier = req.query.oauth_verifier;

client.getAccessToken( req.session.oauthToken, req.session.oauthTokenSecret, oauthVerifier, (error, oauthAccessToken, oauthAccessTokenSecret, results) => { if (error) { console.error('Failed to get access token:', error); return res.status(500).send('Authentication failed'); # HTTP 500 Internal Server Error }

  // Store access token securely (valid for 1 year by default)
  req.session.accessToken = oauthAccessToken;

  // Token expiration included in results.edam_expires
  console.log('Token expires:', new Date(parseInt(results.edam_expires)));

  res.redirect('/dashboard');
}

); });

Step 6: Verify Connection

// Create authenticated client and verify const authenticatedClient = new Evernote.Client({ token: req.session.accessToken, sandbox: true });

const userStore = authenticatedClient.getUserStore(); const noteStore = authenticatedClient.getNoteStore();

// Verify connection userStore.getUser().then(user => { console.log('Authenticated as:', user.username); console.log('User ID:', user.id); }).catch(err => { console.error('Authentication verification failed:', err); });

Development Tokens (Sandbox Only)

For development, use a Developer Token instead of full OAuth:

const client = new Evernote.Client({ token: process.env.EVERNOTE_DEV_TOKEN, sandbox: true });

const noteStore = client.getNoteStore();

Note: Developer tokens are currently unavailable for production. Use OAuth for production applications.

Output

  • Installed SDK package in node_modules or site-packages

  • Environment variables configured

  • Working OAuth flow implementation

  • Successful connection verification

Error Handling

Error Cause Solution

Invalid consumer key

Wrong or unapproved key Verify key from developer portal

OAuth signature mismatch

Incorrect consumer secret Check secret matches portal

Token expired

Access token > 1 year old Re-authenticate user via OAuth

RATE_LIMIT_REACHED

Too many API calls Implement exponential backoff

Permission denied

Insufficient API key permissions Request additional permissions

Token Expiration

  • Default token validity: 1 year

  • Users can reduce to: 1 day, 1 week, or 1 month

  • Expiration timestamp in edam_expires parameter

  • Implement token refresh before expiration

Resources

  • Evernote Developer Portal

  • OAuth Documentation

  • API Key Permissions

  • JavaScript SDK

  • Python SDK

Next Steps

After successful auth, proceed to evernote-hello-world for your first note creation.

Examples

Basic usage: Apply evernote install auth to a standard project setup with default configuration options.

Advanced scenario: Customize evernote install auth for production environments with multiple constraints and team-specific requirements.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

backtesting-trading-strategies

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

svg-icon-generator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

performance-lighthouse-runner

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

mindmap-generator

No summary provided by upstream source.

Repository SourceNeeds Review