Evernote does not update note if a tag is deleted

2019-09-16 06:06发布

问题:

If I use noteStore.findNotesMetadata() to get recently updated or created notes, no note is received if only tag is updated.

//sample python code

noteStore = client.get_note_store()
note_filter = NoteFilter()
note_filter.notebookGuid = notebook_id
note_filter.order = NoteSortOrder.UPDATED
updatefilter = 'updated:' + lastsyncevernote.strftime('%Y%m%dT%H')

If I update content of that note, then, using below api's, I get tags attached to that note but not the other way round.

noteStore.findNotesMetadata()`
noteStore.getNoteTagNames(access_token, enid)`

How can I get updated notes if only tag is updated?

回答1:

That's by design. The Evernote team has decided that certain note changes will update a note's Updated timestamp and certain ones will not.

Changes that do update the Updated timestamp:

  • Title
  • Body/Content
  • Resources/Attachments

Changes that do not update the Updated timestamp:

  • Created
  • Deleted
  • Active/Trashed
  • Metadata on resources
  • Notebook (i.e. notebookGuid)
  • Tags (i.e. tagGuids)

The only way I know of to really track when tag assignments change is to use getSyncState and getFilteredSyncChunk which are discussed in the Evernote Sync API. These methods use the updateSequenceNum property, which does get updated when a note's tag assignments are updated.