diff options
| author | Teddy Wing | 2015-12-30 18:10:24 -0800 |
|---|---|---|
| committer | Teddy Wing | 2015-12-30 18:10:24 -0800 |
| commit | d5407a3c9af0002b2290d96da7593dee98dcb6c4 (patch) | |
| tree | 0dfe24b37a19b1841a29e10ee98d034eafd2b9a8 | |
| parent | bbca4f8cf04d8ca3bdde981a53d7d49f3ff5bec0 (diff) | |
| download | Evernote-Rails-Example-d5407a3c9af0002b2290d96da7593dee98dcb6c4.tar.bz2 | |
Trying to get notes from notebooks
Want to be able to get all notes from a given Evernote notebook. But
it's proving harder than I thought. Geez, the Evernote SDK is so obtuse.
Going to look for a different way to do this.
Refactored the `EvernoteService` a bit in the process.
| -rw-r--r-- | app/controllers/notes_controller.rb | 4 | ||||
| -rw-r--r-- | app/services/evernote.rb | 18 |
2 files changed, 17 insertions, 5 deletions
diff --git a/app/controllers/notes_controller.rb b/app/controllers/notes_controller.rb index a4391f6..bf7f5ab 100644 --- a/app/controllers/notes_controller.rb +++ b/app/controllers/notes_controller.rb @@ -4,8 +4,10 @@ class NotesController < ApplicationController def index auth_token = 'S=s1:U=91e2f:E=151f92661a2:C=151f4000220:P=185:A=evernotesandbox199:V=2:H=5777502290baf1ae1b36ad6254592258' notestore_url = 'https://sandbox.evernote.com/shard/s1/notestore' - + e = EvernoteService.new(auth_token, notestore_url) @notebooks = e.notebooks + + # @notes = @notebooks.collect { |b| e.notes_from_notebook(b) } end end diff --git a/app/services/evernote.rb b/app/services/evernote.rb index edca3b8..75f72aa 100644 --- a/app/services/evernote.rb +++ b/app/services/evernote.rb @@ -2,12 +2,22 @@ class EvernoteService def initialize(auth_token, notestore_url) @auth_token = auth_token @notestore_url = notestore_url - end - def notebooks noteStoreTransport = Thrift::HTTPClientTransport.new(@notestore_url) noteStoreProtocol = Thrift::BinaryProtocol.new(noteStoreTransport) - noteStore = Evernote::EDAM::NoteStore::NoteStore::Client.new(noteStoreProtocol) - noteStore.listNotebooks(@auth_token) + @note_store = Evernote::EDAM::NoteStore::NoteStore::Client.new(noteStoreProtocol) + end + + def notebooks + @note_store.listNotebooks(@auth_token) + end + + def notes_from_notebook(notebook) + @note_store.findNotesMetadata( + @auth_token, + Evernote::EDAM::NoteStore::NoteFilter.new(:notebookGuid => notebook.guid), + 0, + 50, + ) end end |
