EvernoteAPI って若干使いにくくない?

前書き

ちょっと前に EvernoteAPI なるものと戯れていた。
そのときに、EvernoteAPI の使い方とかを調べるわけだが、まぁ少ない少ない。
自慢じゃないけど英語に対する苦手意識 100 点な私は、もちのろんで日本語サイトばっか探してたけど、それでも大体同じ方の記事くらいしか見つからない。

で、仕方なく本でも買って本格的にやるかーーと、ネットでろくに調べず本屋に行ったが...無い!!
Evernote の使い方みたいな本は腐るほどあるのに、EvernoteAPI に関する書籍が無い!!
なんてこったーーー!!そりゃ需要が無いからだろって?!ここに欲している人が居るでゴワす(ノД`)・゜・。

とゆーことで、自分で EvernoteAPI を触ってみた時のノウハウをここに残しておこうと思うのです___〆(・_・*)メモメモ

まずは

Evernote の大きな概念としては、ノートブックとノートがある。簡単に言うとね。
ノートブックは複数のノートを束ねるものであり、ノートが末端の情報 1 つ 1 つを指す。
図だとこんな感じかな。簡単だけど。

EvernoteAPIでは?

じゃ〜 EvernoteAPI ではどうか。
API でももちろん同名のクラス達が居るので、もちろんこんな風に書けると普通なら(?)思うよね。

...
List<Note> notes = notebook.findNotes(...);
...

がしかーーし、世の中そんなに甘くはない(ノД`)・゜・。

EvernoteAPI では、NoteStore(.Client) というクラスが、ノートに関する振る舞いを司っていて、ノートブックを取得するのも、ノートを取得するのも、はたまたタグを取得するのも全てこの NoteStore.Client というクラスを介して取得する必要があるのだ。
具体的には以下のような感じ。

...
// ノートブックを取得
Notebook notebook = noteStore.getNotebook(authenticationToken, guid);
...

// ノートを取得
NoteList noteList = noteStore.findNotes(authenticationToken, filter, offset, maxNotes);
List<Note> notes = nodeList.getNotes();
...

// タグを取得
Tag tag = noteStore.getTag(authenticationToken, guid);
...

ちなみに上記のコードの中で使用している noteStore は、実際には NoteStore のインナークラスである Client というクラスを指す。
上記のコードに出てくるクラス達のパッケージ構成は以下のようになっている。

もう後書き

それではもう少し詳しく見ていきたいところをグッとこらえて、続きは次回ということで。
authenticationToken って何やねん?!guid って何やねん?!?!
怒らないでもう少し待ってて下さい(人;´Д`)ゴメンネ