LoginSignup
8
8

More than 5 years have passed since last update.

evernote-sdk-rubyを使ってEvernoteのノートを検索する

Last updated at Posted at 2013-04-21

EvernoteのAPIはthriftなのでWebAPIとはところどころ使い勝手が違う。

基本はこちらのサンプルから。

authTokenは以下から取得
https://www.evernote.com/api/DeveloperToken.action

evernote_search.rb
authToken = "THE TOKEN YOU'VE GOT"
evernoteHost = "sandbox.evernote.com"

# UserStoreサービスのクライアントを生成
userStoreUrl = "https://#{evernoteHost}/edam/user"
userStoreTransport = Thrift::HTTPClientTransport.new(userStoreUrl)
userStoreProtocol = Thrift::BinaryProtocol.new(userStoreTransport)
userStore = Evernote::EDAM::UserStore::UserStore::Client.new(userStoreProtocol)

# NoteStoreサービスのクライアントを生成
noteStoreUrl = userStore.getNoteStoreUrl(authToken)
noteStoreTransport = Thrift::HTTPClientTransport.new(noteStoreUrl)
noteStoreProtocol = Thrift::BinaryProtocol.new(noteStoreTransport)
noteStore = Evernote::EDAM::NoteStore::NoteStore::Client.new(noteStoreProtocol)

# 検索条件となるfilterを設定
# 'こんにちは'を含む更新された順
filter = Evernote::EDAM::NoteStore::NoteFilter.new
filter.word = 'こんにちは'
filter.order = Evernote::EDAM::Type::NoteSortOrder::UPDATED

# filterを使って検索実行
noteList = noteStore.findNotes(authToken, filter, 0, 10)

こうするとEvernote::EDAM::NoteStore::NoteListのオブジェクトが取得できて、noteList.notesの中に検索の結果が入ってくる。

evernote-sdk-rubyEvernoteAPIに合わせるためかキャメルケースになってるのがrubyとしては独特。
今回はこの書き方に則ってみた。

Evernoteの開発者向けドキュメントは日本語版英語版で書かれている範囲が違ったりするので両方見ておくといいかも。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8