Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Evernote API中设置NoteFilter_Python_Api_Evernote - Fatal编程技术网

Python 在Evernote API中设置NoteFilter

Python 在Evernote API中设置NoteFilter,python,api,evernote,Python,Api,Evernote,我已经像这样设置了我的Python页面(摘录): 此代码会出现问题: filter = note_store.NoteFilter filter.setOrder(NoteSortOrder.UPDATED.getValue()) 然后我会继续使用note_store.findNotesMetadata。但是,我得到了一个错误: AttributeError: 'module' object has no attribute 'setOrder' 我做错了什么?我试图根据给出的示例进行调整,

我已经像这样设置了我的Python页面(摘录):

此代码会出现问题:

filter = note_store.NoteFilter
filter.setOrder(NoteSortOrder.UPDATED.getValue())
然后我会继续使用note_store.findNotesMetadata。但是,我得到了一个错误:

AttributeError: 'module' object has no attribute 'setOrder'

我做错了什么?我试图根据给出的示例进行调整,这里是一个工作示例:

from evernote.api.client import EvernoteClient
from evernote.edam.notestore.ttypes import NoteFilter, NotesMetadataResultSpec
from evernote.edam.type.ttypes import NoteSortOrder

auth_token = 'your-token'
client = EvernoteClient(token=auth_token)
note_store = client.get_note_store()

updated_filter = NoteFilter(order=NoteSortOrder.UPDATED)
offset = 0
max_notes = 10
result_spec = NotesMetadataResultSpec(includeTitle=True)
result_list = note_store.findNotesMetadata(auth_token, updated_filter, offset, max_notes, result_spec)

# note is an instance of NoteMetadata
# result_list is an instance of NotesMetadataList
for note in result_list.notes:
    print note.title

这是我的完整的工作代码:

导入操作系统
导入系统
导入hashlib
导入binascii
从datetime导入datetime,timedelta
导入日志记录
#sys.path.append(“lib”)
#sys.path.append(“libs/evernote-sdk-python3”)
sys.path.append(“libs/evernote-sdk-python3/lib”)
从evernote导入*
从evernote.api导入*
从evernote.api.client导入*
从evernote.edam.limits导入*
从evernote.edam.type导入*
从evernote.edam.type.t导入类型*
从evernote.edam.notestore导入*
从evernote.edam.notestore.t导入类型*
从evernote.edam.notestore.notestore导入*
从evernote.edam.userstore导入*
从evernote.edam.userstore.constants导入*
ToProcessNotebook=“toProcess”
isSandbox=True
#isChina=错误
isChina=正确
AuthTokenDict={
“沙箱”:{
#中国,,https://sandbox.evernote.com/api/DeveloperToken.action
“银香”:“将您的令牌更改为您的令牌”,
#国际的
“evernote”:“,
},
“生产”:{
“银香”:“银香”,
“evernote”:“,
},
}
ServiceHost=“”
AuthToken=“”
如果是中国:
如果是Sandbox:
AuthToken=AuthTokenDict[“沙盒”][“银香”]
ServiceHost=“sandbox.yinxiang.com”
其他:
AuthToken=AuthTokenDict[“生产”][“银香”]
ServiceHost=“app.yinxiang.com”
其他:
如果是Sandbox:
AuthToken=AuthTokenDict[“沙盒”][“evernote”]
ServiceHost=“sandbox.evernote.com”
其他:
AuthToken=AuthTokenDict[“生产”][“evernote”]
ServiceHost=“app.evernote.com”
gClient=None
gUserStore=无
gNoteStore=None
def init():
全球gClient、gUserStore、gNoteStore
logFilename=“EvernoteToWordpress_u%s.log”%(getCurDatetimeStr())
loggingInit(logFilename)
gClient=EvernoteClient(
token=AuthToken,
#沙箱,
#中国=中国,
服务\u主机=服务主机
)
logging.info(“gClient=%s”,gClient)
gUserStore=gClient.get\u user\u store()
logging.info(“gUserStore=%s”,gUserStore)
isVersionOk=gUserStore.checkVersion(
“Evernote EDAMTest(Python)”,
EDAM_VERSION_MAJOR,#UserStoreConstants.EDAM_VERSION_MAJOR,
EDAM_版本_次要,#UserStoreConstants.EDAM_版本_次要
)
logging.info(“我的Evernote API版本是最新的吗?%s”,iVersionOK)
gNoteStore=gClient.get\u note\u store()
logging.info(“gNoteStore=%s”,gNoteStore)
def EvernoteToWordpress():
“”“将evernote便笺处理为wordpress”“”
全球gClient、gUserStore、gNoteStore
notebookList=gNoteStore.listNotebooks()
notebookListLen=len(notebookList)
logging.info(“找到%s笔记本:”,notebookListLen)
对于记事本列表中的笔记本:
logging.info(“\tguid=%s,name=%s”,curNotebook.guid,curNotebook.name)
如果curNotebook.name==ToProcessNotebook:
processNotes(笔记本电脑)
打破
def处理说明(笔记本):
“”“处理每个便笺”“”
logging.info(“curNotebook=%s”,curNotebook)
#在笔记本中查找所有笔记
searchOffset=0
searchPageSize=100
searchFilter=NoteStore.NoteFilter()
searchFilter.order=NoteSortOrder.UPDATED
searchFilter.ascending=False
searchFilter.notebookGuid=curNotebook.guid
logging.info(“searchFilter=%s”,searchFilter)
resultSpec=NotesMetadataResultSpec()
resultSpec.includeTitle=True
结果spec.includeContentLength=True
结果spec.includeCreated=True
结果spec.includeUpdate=True
结果spec.includeDeleted=True
resultSpec.includefinatebookguid=True
结果spec.includetaguids=True
结果spec.includeAttribute=True
resultSpec.includeLargestResourceMime=True
结果spec.includeLargestResourceSize=True
logging.info(“resultSpec=%s”,resultSpec)
#foundNoteResult=gNoteStore.findNotesMetadata(
#authenticationToken=AuthToken,
#过滤器=搜索过滤器,
#偏移量=搜索偏移量,
#maxNotes=页面大小,
#resultSpec=resultSpec
# )
foundNoteResult=gNoteStore.findNotesMetadata(AuthToken、searchFilter、searchOffset、searchPageSize、resultSpec)
logging.info(“foundNoteResult=%s”,foundNoteResult)
如果名称=“\uuuuu main\uuuuuuuu”:
init()
EvernoteToWordpress()
注意:evernote sdk是从


最新代码:

谢谢您的回复。不幸的是,我现在得到的错误是“Store”对象没有属性“NoteFilter”。Evernote API参考()声明NoteFilter是notestore的一部分,根据原始帖子中的代码,我有
note\u store=client.get\u note\u store()
。Evernote从Thrift生成其客户。我已经更新了我的答案。
from evernote.api.client import EvernoteClient
from evernote.edam.notestore.ttypes import NoteFilter, NotesMetadataResultSpec
from evernote.edam.type.ttypes import NoteSortOrder

auth_token = 'your-token'
client = EvernoteClient(token=auth_token)
note_store = client.get_note_store()

updated_filter = NoteFilter(order=NoteSortOrder.UPDATED)
offset = 0
max_notes = 10
result_spec = NotesMetadataResultSpec(includeTitle=True)
result_list = note_store.findNotesMetadata(auth_token, updated_filter, offset, max_notes, result_spec)

# note is an instance of NoteMetadata
# result_list is an instance of NotesMetadataList
for note in result_list.notes:
    print note.title