From evernote-pack
Installs Evernote SDK and configures OAuth 1.0a authentication for Node.js or Python. Covers API key provisioning, env vars, OAuth flow, and connection verification.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin evernote-packThis skill is limited to using the following tools:
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.
Sets up local dev workflow for Evernote API with sandbox credentials, JS client wrapper, ENML utilities, Express OAuth server, and test scripts.
Sets up OneNote Graph API authentication with MSAL delegated auth for Python and TypeScript. Guides Azure AD registration, scopes, SDK install, and deprecated app-only migration.
Installs and configures Notion API SDK for Node.js (@notionhq/client) and Python (notion-client), sets up authentication tokens, shares pages with integration, and verifies connectivity.
Share bugs, ideas, or general feedback.
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.
consumerKey and consumerSecret credentialsset -euo pipefail
# Node.js
npm install evernote
# Python
pip install evernote
cat << 'EOF' >> .env
EVERNOTE_CONSUMER_KEY=your-consumer-key
EVERNOTE_CONSUMER_SECRET=your-consumer-secret
EVERNOTE_SANDBOX=true
EOF
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
});
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.
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.
| Error | Cause | Resolution |
|---|---|---|
| Invalid consumer key | Wrong or unapproved key | Verify key in the developer portal |
| OAuth signature mismatch | Incorrect consumer secret | Check secret matches the portal value |
| Token expired | Access token older than 1 year | Re-authenticate the user via OAuth |
| Rate limit reached | Too many API calls | Implement exponential backoff |
| Permission denied | Insufficient API key scope | Request additional permissions |
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.
After successful auth, proceed to evernote-hello-world for the first note creation.