Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cgs/evernote
A Ruby client for Evernote
https://github.com/cgs/evernote
Last synced: 3 months ago
JSON representation
A Ruby client for Evernote
- Host: GitHub
- URL: https://github.com/cgs/evernote
- Owner: cgs
- License: mit
- Created: 2010-01-30T17:05:11.000Z (almost 15 years ago)
- Default Branch: master
- Last Pushed: 2012-06-15T19:44:48.000Z (over 12 years ago)
- Last Synced: 2024-07-17T17:34:34.367Z (4 months ago)
- Language: Ruby
- Homepage:
- Size: 228 KB
- Stars: 144
- Watchers: 7
- Forks: 20
- Open Issues: 2
-
Metadata Files:
- Readme: README.mkd
- License: LICENSE
Awesome Lists containing this project
README
# 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.rbrequire '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.