【问题标题】:Evernote Python API - How to get a list of tags for a note?Evernote Python API - 如何获取笔记的标签列表?
【发布时间】:2017-10-31 15:04:32
【问题描述】:

这是我列出笔记本及其笔记的代码。我现在正在尝试列出与每个注释关联的标签。有人可以帮忙吗?谢谢。

from evernote.api.client import EvernoteClient
from evernote.edam.notestore import NoteStore

dev_token = "dev_token"
client = EvernoteClient(token=dev_token)
userStore = client.get_user_store()

user = userStore.getUser()
print
print user.username
print

noteStore = client.get_note_store()
notebooks = noteStore.listNotebooks()

for n in notebooks:
   print "Notebook = " + n.name + " GUID = " + n.guid

   filter = NoteStore.NoteFilter()
   filter.ascending = False
   filter.notebookGuid=n.guid

   spec = NoteStore.NotesMetadataResultSpec()
   spec.includeTitle = True
   spec.includeNotebookGuid = True
   spec.includeTagGuids = True

   ourNoteList = noteStore.findNotesMetadata(filter, 0, 25, spec)
   for note in ourNoteList.notes:
      print "%s :: %s" % (note.title, note.guid)
   print

【问题讨论】:

  • 欢迎来到 SO。请阅读此 [how-to-ask] (stackoverflow.com/help/how-to-ask) 并按照那里的指南来改进您的问题,并提供足够的信息来描述和重现您的问题。

标签: python api evernote


【解决方案1】:

如果您使用spec.includeTagGuids = True 调用NoteStore#findNotesMetadata,则返回的NoteMetadata 将包含与注释关联的标签GUID 列表。

spec = NoteStore.NotesMetadataResultSpec()
spec.includeTagGuids = True

notesMetadataList = noteStore.findNotesMetadata(filter, 0, 25, spec)
for noteMetadata in notesMetadataList.notes:
   for tagGuid in noteMetadata.tagGuids
       tag = noteStore.getTag(tagGuid)

或者,如果你只想要标签的名称,你可以使用NoteStore#getNoteTagNames

notesMetadataList = noteStore.findNotesMetadata(filter, 0, 25, spec)
for noteMetadata in notesMetadataList.notes:
   tagNames = noteStore.getNoteTagNames(noteMetadata.guid)

但最好先调用NoteStore#listTags,然后创建一个从标签guid到标签的字典,这样您就不必在循环中每次都调用NoteStore#getTag

【讨论】:

  • 这是完美的,谢谢。让它在沙盒环境中工作。然后我得到了一个用于生产的开发者令牌,现在它引发了一堆异常。您知道在使用生产令牌推送代码时我需要做些什么不同的事情吗?
  • 想通了。必须使用'client = EvernoteClient(token=dev_token, sandbox = False)'
猜你喜欢
  • 1970-01-01
  • 2011-09-21
  • 2017-09-01
  • 1970-01-01
  • 2017-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多