我正在开发一个Java项目,我正在整合Evernote服务。现在,我能够保存,更新笔记,但我想做的是搜索笔记。现在,由于evernote与我们的基础设施绑定,我想保存我们正在复制到Evernote的文本的ID。
因此,每当文本更新时,我想从Evernote获得相同的注释并更新它的内容。 这是我面临的两个问题:
以下是我到目前为止的一些保存和搜索代码:
Note note = new Note();
note.setTitle("New title");
String nBody = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
nBody += "<!DOCTYPE en-note SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\">";
nBody += "<en-note>" + "Test" + "</en-note>";
note.setContent(nBody);
note.setGuid("1234");
Note savedNote = noteStoreClient.createNote(note);
搜索代码:
NoteFilter noteFilter = new NoteFilter();
// AS you can see, I have no idea what filter to set here.
// noteFilter.getTagGuids(id);
NoteList noteList = noteStoreClient.findNotes(noteFilter,0,100);
List<Note> notes = noteList.getNotes();
for(Note note : notes){
System.out.println("Note title is "+note.getTitle());
}
请让我知道我能做些什么。非常感谢。 : - )
UDPATE
当我尝试使用我自己创建的GUID保存GUID时会发生这种情况。 错误日志:
EDAMUserException(errorCode:BAD_DATA_FORMAT, parameter:Note.guid)
at com.evernote.edam.notestore.NoteStore$getNote_result.read(NoteStore.java:13514)
at com.evernote.edam.notestore.NoteStore$Client.recv_getNote(NoteStore.java:1346)
at com.evernote.edam.notestore.NoteStore$Client.getNote(NoteStore.java:1316)
at com.evernote.clients.NoteStoreClient.getNote(NoteStoreClient.java:368)
at com.journaldev.spring.service.EvernoteServiceImpl.findNoteById(EvernoteServiceImpl.java:157)
答案 0 :(得分:2)
创建时,您无法在注释上设置手动分配的guid - guid由服务分配,并作为NoteStore上createNote调用的一部分在Note对象上返回。
顺便说一句,guids有一定格式,请参阅format here。