2013-08-30 2 views
1

Я настроил мою страницу Python как так (выписка):Установка NoteFilter в Evernote API

import evernote.edam.userstore.constants as UserStoreConstants 
import evernote.edam.type.ttypes as Types 
from evernote.api.client import EvernoteClient 

client = EvernoteClient(token=auth_token, sandbox=False) 
note_store = client.get_note_store() 

Проблема возникает с этим кодом:

filter = note_store.NoteFilter 
filter.setOrder(NoteSortOrder.UPDATED.getValue()) 

Я бы затем на использование note_store. findNotesMetadata. Однако, я получаю ошибку:

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

Что я делаю неправильно? Я пытался адаптировать из примера, приведенного here

ответ

5

Вот рабочий пример:

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 
+0

Спасибо за Ваш ответ. К сожалению, теперь я получаю сообщение об ошибке, что объект «Store» не имеет атрибута «NoteFilter». В справочной системе Evernote (http://dev.evernote.com/doc/reference/javadoc/com/evernote/edam/notestore/NoteFilter.html) указано, что NoteFilter является частью notestore и в соответствии с кодом в исходном сообщении , У меня есть 'note_store = client.get_note_store()' Любые идеи? –

+0

Оказывается, это было сложнее, чем я думал. Evernote генерирует своих клиентов из компании Thrift. Я обновил свой ответ. –

Смежные вопросы