gpt4 book ai didi

java - 不包括 Evernote : Time note getting updated when object pushed, 标签

转载 作者:行者123 更新时间:2023-12-02 12:37:53 25 4
gpt4 key购买 nike

我正在努力将 Evernote 功能集成到我的项目中。目前,我可以保存笔记,但是当我在笔记对象中添加标签时,它们不会在 Evernote 端得到更新。另外,当我编辑 Evernote 笔记对象时,evernote 端的时间戳不会更新。我究竟做错了什么?目前还没有错误日志。谢谢..

代码:

 @Override
public boolean pushNoteToEvernote(int groupNoteId) {
System.out.println("Push note to evernote is called. ");
GroupNotes groupNotes = this.groupNotesService.getGroupNoteById(groupNoteId);
if (!(groupNotes == null)) {
try {
Person person = this.personService.getCurrentlyAuthenticatedUser();
if (person.isEvernoteConsumed()) {
EverNote everNote = getUsersEvernote(person.getId());
com.evernote.auth.EvernoteAuth evernoteAuth = new EvernoteAuth(EVERNOTE_SERVICE, everNote.getAccessToken());
NoteStoreClient noteStoreClient = new ClientFactory(evernoteAuth).createNoteStoreClient();

NoteSelection noteSelection = this.noteSelectionService.checkIfSelectionValid(groupNoteId, person.getId());

if (!(noteSelection == null)) {

if (!(noteSelection.getEverNoteGuid() == null)) {
Note note = findNoteById(noteSelection.getEverNoteGuid());
if ((note != null)) {
if(groupNotes.getMnotetag()!=null) {
String c = groupNotes.getMnotetag();
Pattern pt = Pattern.compile("[^a-zA-Z0-9]");
Matcher match = pt.matcher(c);
while (match.find()) {
String s = match.group();
c = c.replaceAll("\\" + s, "");
}
note.setTitle(c);
}
note.setUpdatedIsSet(true);
//note.setTitle(groupNotes.getMnotetag());
String nBody = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
nBody += "<!DOCTYPE en-note SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\">";
nBody += "<en-note>" + Jsoup.parse(groupNotes.getMnotetext()).text() + "</en-note>";
note.setContent(nBody);
Note savedNote = noteStoreClient.updateNote(note);
if(groupNotes.getTags()!=null) {
String[] tagsList = groupNotes.getTags().split(",");
List<String> stringList = new ArrayList<>();
Collections.addAll(stringList,tagsList);
note.setTagNames(stringList);
}
this.noteSelectionService.updateSelectionWithGuid(groupNoteId, person.getId(), savedNote.getGuid());
} else {
this.noteSelectionService.deleteSelection(groupNoteId);
saveNoteToEvernote(groupNotes, person.getId(), noteStoreClient);
}
} else {
saveNoteToEvernote(groupNotes, person.getId(), noteStoreClient);
return true;
}
}
}
} catch (Exception e) {
e.printStackTrace();
}

}
return false;
}

谢谢。

最佳答案

您可能想尝试以下几件事:

  • note.updated 是服务器端分配的值,因此您不需要 note.setUpdatedIsSet(true)。另外,一般来说,***IsSet 是一个与 thrift 相关的标志,除非确实需要,否则您不想显式设置它。
  • 我不太清楚 noteSelectionService 的作用,但您在保存 savedNote 时将标签设置为 note。使用 Note#setTagNames 应该很好,那么您能否确保使用正确的参数调用 updateNote API?

关于java - 不包括 Evernote : Time note getting updated when object pushed, 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45079017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com