A Ruby client for Evernote
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib version bump Jun 15, 2012
spec
vendor/gen-rb
.gitignore
LICENSE
README.mkd
Rakefile
evernote.gemspec
example.rb

README.mkd

evernote

This gem is a high level wrapper around Evernote's Thrift-generated ruby code. It bundles up Evernote's thrift-generated code and creates some simple wrapper classes.

setup

Get a "Client application" API key from Evernote (http://www.evernote.com/about/developer/api/#key), which gives you a "consumer_key" and "consumer_secret" (note that a "web application" API key uses OAuth to authenticate and will not work). Put the key in a YML file or any other place you put configuration information. Also, get yourself a username and password on both their sandbox system (http://sandbox.evernote.com) and live system. You will be using sandbox for testing.

usage

This script is also located in /example.rb

require 'evernote'

user_store_url = "https://sandbox.evernote.com/edam/user"

config = {
   :username => 'YOUR_USERNAME',
   :password => 'YOUR_PASSWORD',
   :consumer_key => 'YOUR_CONSUMER_KEY_FROM_EVERNOTE',
   :consumer_secret => 'YOUR_CONSUMER_SECRECT_FROM_EVERNOTE'
         }

user_store = Evernote::UserStore.new(user_store_url, config)

auth_result = user_store.authenticate
user = auth_result.user
auth_token = auth_result.authenticationToken
puts "Authentication was successful for #{user.username}"
puts "Authentication token = #{auth_token}"

Once you've authenticated, you could do something like list all of your notebooks:

note_store_url = "http://sandbox.evernote.com/edam/note/#{user.shardId}"
note_store = Evernote::NoteStore.new(note_store_url)

notebooks = note_store.listNotebooks(auth_token)
puts "Found #{notebooks.size} notebooks:"
default_notebook = notebooks[0]
notebooks.each { |notebook| puts "  * #{notebook.name}"}

The evernote API can be viewed at http://www.evernote.com/about/developer/api/ref/

If the vendored code is out of date and you get an error indicating so, feel free to create an issue at http://github.com/cgs/evernote/issues

TODO

  • OAuth support - will gladly accept a patch for this!

contributors

Thanks to the following peeps for helping out:

  • Peter Mangiafico (peetucket)
  • d1
  • Mikhail Zelenin (MioGreen)
  • Jimmy Zimmerman (jimmyz)
  • Buck Doyle (backspace)
  • Philippe Creux (pcreux)

Copyright

Copyright (c) 2011 Chris Sepic. See LICENSE for details.