Evernote APIを使用するためのPersonal OAuth Tokenが公式のWebフォームで取得できるようになっていました

2021.08.02

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、CX事業本部 IoT事業部の若槻です。

ノートテイキングアプリEvernoteで自分のアカウントをAPIで操作するためのPersonal OAuth Tokenを取得する方法は、以前まではこちらの記事(以前私が投稿したものです)にあるようなSDKをローカルで起動してOAuth認証を実施し取得する方法のみでした。

しかし、このPersonal OAuth Tokenの取得がEvernoteの公式サイト内のWebフォームで行えるようになっていたので試してみました。

やってみた

APIキーの取得

以前の方法と同じく、WebフォームでPersonal OAuth Tokenを取得する場合もAPI Keyが必要となります。

API Keyの取得方法は下記に記載しています。Keyのリクエストとアクティベートの2手順があるのでまだの場合は行ってください。

Personal OAuth Tokenの取得

下記のURLのページにアクセスします。

するとEvernoteのPersonal Auth Tokenを取得するためのWebフォームが開きます。

フォームで下記を選択および入力し、[Authorize your account]をクリックします。

  • API server:Production
  • Consumer key:取得したAPI Consumer Key
  • Consumer secret:取得したAPI Consumer secret

Evernoteにログインしていない場合は認証を求められます。Evernote APIでノートの操作を行いたいアカウントでログインします。

OAuth認証の承諾を求められます。Tokenの有効期限(1年間、30日間、1週間、1日のいずれか)を選択し、[承諾する]をクリックします。

するとPersonal OAuth Tokenを取得できました。

あとはこのTokenを自分で開発したシステムやアプリで使用すればEvernote APIを叩いてノートなどの操作を行うことができるようになります。

Personal Access Tokenを使ってみる(Python3)

Evernote SDK for Python3でPersonal Access Tokenを使ってEvernote APIを使えるか動作確認を行ってみます。

Evernote SDK for Python3をダウンロードします。

% git clone https://github.com/evernote/evernote-sdk-python3.git

pipでモジュールをインストールします。

% cd evernote-sdk-python3
% pip3 install -r requirements.txt

sample/client/EDAMTest.pyを編集します。の23行目付近で、auth_tokenに取得したPersonal OAuth Tokenを代入するようにします。

sample/client/EDAMTest.py

auth_token = "<Personal OAuth Token>"

さらにsample/client/EDAMTest.pyの39行目付近で、sandboxFalseを代入するようにして、Production環境が使われるようにします。

sample/client/EDAMTest.py

sandbox=False

下記コマンドを実行します。libにはevernoteのモジュールが配置されています。

% export PYTHONPATH=../../lib
% cd sample/client/

下記コマンドを実行します。

% python EDAMTest.py

Personal Access Tokenを取得したアカウントに対してノートブック一覧の取得と、サンプルノートの作成が行われれば成功です。

Personal OAuth Tokenの手動Revoke

当然ですが発行したPersonal OAuth Tokenは悪用されないように厳重に管理する必要があります。検証などを終えて使わなくなったTokenは有効期限を待たずに下記ページからRevokeすることが可能です。

おわりに

Evernote APIを使用するためのPersonal OAuth Tokenが公式のWebフォームで取得できるようになっていたためそのご紹介でした。

自分で運用しているEvernote連携システムが使用するTokenの更新のためにほぼ1年ぶりに更新を行おうとしたら今回のWebフォームを見つけてびっくりしました。https://dev.evernote.com/get-token/のページの最終更新日を確認してみると08/03/2021 01:17:40であったため、わりと最近提供開始されたもののようです。

またEvernoteのプロダクト自体にも最近大幅なアップデートがあり、タスクやカレンダーなどの機能が追加されて久しぶりに新しい風を感じています。(しかしSDKのアップデートは相変わらず下火が続いています…)

Evernoteを個人のノート管理アプリとして約9年前に使い始めてから、他のメモアプリやタスク管理アプリにたまに浮気しながらも、なんだかんだでシンプルな情報蓄積機能や検索性の高さが気に入って使い続けているので、Evernoteにはこれからも地道にアップデートを重ねつつ(と言ってもパフォーマンスを極端に下げるアップデートはしないで欲しいと思いつつ)頑張っていってもらいたいです。

以上