Install and configure Evernote SDK and OAuth authentication. Use when setting up a new Evernote integration, configuring API keys, or initializing Evernote in your project. Trigger with phrases like "install evernote", "setup evernote", "evernote auth", "configure evernote API", "evernote oauth".
74
70%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./plugins/saas-packs/evernote-pack/skills/evernote-install-auth/SKILL.mdSet 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 evernotecat << 'EOF' >> .env
EVERNOTE_CONSUMER_KEY=your-consumer-key
EVERNOTE_CONSUMER_SECRET=your-consumer-secret
EVERNOTE_SANDBOX=true
EOFconst 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.
3a2d27d
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.