evernote ウェブサービスapi

Post on 05-Jul-2015

1.298 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Evernote Developer Meetup, 2011/11/10

TRANSCRIPT

ウェブサービスAPI加藤文彦 (@fumi1)

Evernote Developer Meetup 2011/11/10

http://gihyo.jp/dev/serial/01/evernote_api

プログラムの手順1. 認証

• UserStore: ユーザ名とパスワード

• OAuth: OAuth認証

2. データアクセス

• NoteStore

String userStoreUrl = "https://sandbox.evernote.com/edam/user";THttpClient userStoreTransport = new THttpClient(userStoreUrl);TBinaryProtocol userStoreProtocol = new TBinaryProtocol(userStoreTransport);UserStore.Client userStore = new UserStore.Client(userStoreProtocol);......

AuthenticationResult authResult = null;try { authResult = userStore.authenticate(username, password, consumerKey, consumerSecret);} catch (EDAMUserException ex) { String parameter = ex.getParameter(); EDAMErrorCode errorCode = ex.getErrorCode();......}

String authToken = authResult.getAuthenticationToken();

UserStore

https://sandbox.evernote.com

userStoreUrl = "https://sandbox.evernote.com/edam/user"userStoreTransport = Thrift::HTTPClientTransport.new(userStoreUrl)userStoreProtocol = Thrift::BinaryProtocol.new(userStoreTransport)userStore = Evernote::EDAM::UserStore::UserStore::Client.new(userStoreProtocol)

Java

Ruby

String userStoreUrl = "https://sandbox.evernote.com/edam/user";THttpClient userStoreTransport = new THttpClient(userStoreUrl);TBinaryProtocol userStoreProtocol = new TBinaryProtocol(userStoreTransport);UserStore.Client userStore = new UserStore.Client(userStoreProtocol);

NoteStore

User user = authResult.getUser();String shardId = user.getShardId();String noteStoreUrl = "https://sandbox.evernote.com/edam/note/" + shardId;THttpClient noteStoreTransport = new THttpClient(noteStoreUrl);TBinaryProtocol noteStoreProtocol = new TBinaryProtocol(noteStoreTransport);noteStore = new NoteStore.Client(noteStoreProtocol);

ノートブック

List notebooks = noteStore.listNotebooks(authToken);for (Notebook notebook : notebooks) { System.out.println("Notebook: " + notebook.getName());}

ノートの作成

Note note = new Note();note.setTitle("テストノート");String content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<!DOCTYPE en-note SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\">" + "<en-note>新しいノートを作りました</en-note>";note.setContent(content);Note createdNote = noteStore.createNote(authToken, note);System.out.println("GUID: " + createdNote.getGuid());

画像の保存Resource resource = new Resource();resource.setData(data);resource.setMime("image/jpeg");

Note note = new Note();note.setTitle("画像ノート");note.addToResources(resource);

String content = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + "<!DOCTYPE en-note SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\">" + "<en-note><p>このノートは画像を含んでいます</p>" + "<en-media type=\"image/jpeg\" hash=\"" + EDAMUtil.bytesToHex(resource.getData().getBodyHash()) + "\"/>" + "</en-note>";note.setContent(content);Note createdNote = noteStore.createNote(authToken, note);

Android開発環境

http://discussion.evernote.com

http://discussion.evernote.com/forum/61-evernote-for-developers/

top related