evernote-install-auth について
Evernote SDKを初期化し、OAuth 1.0aでEvernote Cloud APIに接続するためのセットアップスキルです。Node.jsやPythonの開発者向けに、APIキーの取得から認証、接続確認までを案内します。
主な機能
- 01Evernote SDKの設定
- 02APIキーの取得と設定
- 03OAuth 1.0aフローの実装
- 04開発者トークンによるサンドボックステスト
- 05認証接続の確認
活用シーン
- 01アプリケーションのEvernote APIアクセス設定
- 02完全なOAuthフローを省いたサンドボックステスト
- 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 をセットアップし、Evernote Cloud API にアクセスするための OAuth 1.0a 認証を設定します。API キーの取得、SDK のインストール、OAuth フローの実装、接続の確認について説明します。
前提条件
- Node.js 18+ または Python 3.10+
- パッケージマネージャー(npm、pnpm、または pip)
- Evernote 開発者アカウント
- Evernote 開発者ポータルで取得した API キー(承認が必要です。営業日で 5 日かかる場合があります)
手順
ステップ 1:API キーを申請する
- Evernote 開発者ポータルに移動します
- API キー申請フォームを送信します
- 手動承認を待ちます(最大 5 営業日)
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 フローのリファレンスを参照してください。
出力
- node_modules または site-packages にインストールされた SDK パッケージ
- 認証用に設定された環境変数
- 正常に動作する OAuth フローの実装
- 接続の確認に成功
エラー処理
| エラー | 原因 | 解決方法 |
|---|---|---|
| 無効な consumer key | キーが誤っているか、未承認です | 開発者ポータルでキーを確認します |
| OAuth 署名の不一致 | consumer secret が正しくありません | シークレットがポータルの値と一致するか確認します |
| トークンの有効期限切れ | アクセストークンの発行から 1 年以上経過しています | OAuth でユーザーを再認証します |
| レート制限に到達 | API 呼び出しが多すぎます | 指数バックオフを実装します |
| 権限がありません | API キーのスコープが不十分です | 追加の権限を申請します |
例
サンドボックスのクイックスタート:sandbox.evernote.com/api/DeveloperToken.action から開発者トークンを取得します。.env に EVERNOTE_DEV_TOKEN を設定し、開発中に OAuth フロー全体を省略するため、sandbox: true を指定してクライアントを初期化します。
本番環境の OAuth:開発者ポータルから API キーを申請し、HTTPS コールバック URL を使用して OAuth 1.0a フローを実装します。edam_expires のタイムスタンプとともにアクセストークンを安全に保存し、有効期限前にトークンを更新するようスケジュールします。
リソース
次のステップ
認証に成功したら、最初のノートを作成するために evernote-hello-world に進みます。