Skip to content
This repository has been archived by the owner on Dec 31, 2023. It is now read-only.

Stateless MicroService Web Application which provides Restful APIs for Evernote.

License

Notifications You must be signed in to change notification settings

ttddyy/evernote-rest-webapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Evernote REST Webapp

"Evernote REST Webapp" provides restful APIs for evernote.

The API covers evernote OAuth and all of thrift based operations. Input and output parameters are represented as JSON. "Evernote REST Webapp" is a java based web application that behaves like a proxy between evernote thrift servers and your applications. It is built on top of Spring Boot, Sprnig Social Evernote, and evernote-java-sdk.

System Overview

* As long as OAuth token has handled, YOUR APPLICATION can be anything, such as javascript, ios, android, or an application server.

REST API Sample

OAuth

Step1: Request temporal credential and redirect url for authorization

$ curl -X POST -d "callbackUrl=http://myapp/oauth-callback" http://localhost:8080/oauth/auth

Response:

{ "authorizeUrl":"https://sandbox.evernote.com/OAuth.action?oauth_token=...",
  "requestTokenValue":"", "requestTokenSecret":"" }

Step2: Request access token

$ curl -X POST -d "oauthToken=..." -d "requestTokenSecret=..." -d "oauthVerifier=..."
    http://localhost:8080/oauth/accessToken

Response:

{ "value":"", "secret":"", "edamShard":"s…", "edamUserId":"...", "edamExpires":"...",
  "edamNoteStoreUrl":"https://...evernote.com/shard/...",
  "edamWebApiUrlPrefix":"https://...evernote.com/shard/..." }

UserStore operations

$ curl -X POST -H "Content-Type: application/json"
   -H "evernote-rest-accesstoken: ..."
   -d '{"clientName": "foo", "edamVersionMajor": 10, "edamVersionMinor": 20}'
   http://localhost:8080/userStore/checkVersion

NoteStore operations

$ curl -X POST -H "Content-Type: application/json"
   -H "evernote-rest-accesstoken: ..."
   -d '{
          "filter":{
              "order": 2,
              "ascending": true,
              "words": "[NOTE_FILTER_WORDS]",
              "notebookGuid": "[NOTEBOOK_GUID]",
              "tagGuids": ["TAG_GUID1", "TAG_GUID2"],
              "timeZone": "",
              "inactive": true
          },
          "offset": 2,
          "maxNotes": 30
      }'
   http://localhost:8080/noteStore/findNotes

What’s New

see CHANGELOG.md

How To Get

 $ git clone [email protected]:ttddyy/evernote-rest-webapp.git
 $ cd evernote-rest-webapp
 $ mvn package    # war file is generated under target directory

Documentation

Development

library versions

evernote-rest-webapp spring-boot spring-social-evernote evernote-sdk-java
1.1.2 1.1.5.RELEASE 1.0.3 1.25.1
1.1, 1.1.1 1.1.4.RELEASE 1.0.2 1.25.1
1.0 1.0.0.RELEASE 1.0.1 1.25.1

Continuous Integration

About

Stateless MicroService Web Application which provides Restful APIs for Evernote.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages