我正在尝试使用Java程序同步一个evernote帐户,下面是它的代码示例
NoteStoreClient noteStoreClient = clientFactory.createNoteStoreClient();
SyncChunk syncChunk = noteStoreClient.getSyncChunk(0, 200, true);
while (true) {
List<Note> noteListforCurrentChunk = syncChunk.getNotes();
//Sync to DB
syncChunk = noteStoreClient.getSyncChunk(syncChunk.getChunkHighUSN(), 200, true);
if (syncChunk.getChunkHighUSN() == syncChunk.getUpdateCount()) {
return;
}
}
对syncChunk.getChunkHighUSN()的第一次调用为我的用户返回1187,这导致没有检索到任何注释。这只发生在一些帐户
有人可以为此提供帮助吗?
答案 0 :(得分:0)
以下是来自the doc的USN的一些引用。
帐户中的USN从“1”开始(对于帐户中创建的第一个对象)然后增加 每次创建,修改或删除对象时都是单调的。服务器跟踪 每个帐户的“更新计数”,与已分配的最高USN相同。
所以,USN的数量越多并不总是意味着你有很多笔记。它只表示用户已在其帐户上执行了一些操作。
答案 1 :(得分:0)
我必须创建一个过滤器才能使其正常工作。现在我能够检索此笔记本下的所有笔记
SyncChunkFilter filter = new SyncChunkFilter();
filter.setIncludeNotes(true);
NoteStoreClient noteStoreClient = clientFactory.createNoteStoreClient();
SyncChunk syncChunk = noteStoreClient.getFilteredSyncChunk(0, 200, filter);
while (true) {
List<Note> noteListforCurrentChunk = syncChunk.getNotes();
//Sync to DB
syncChunk = noteStoreClient.getFilteredSyncChunk(syncChunk.getChunkHighUSN(), 200, filter);
if (syncChunk.getChunkHighUSN() == syncChunk.getUpdateCount()) {
return;
}
}