基于evernote-sdk-js的缩小版本,在一个phonegap应用程序中,我可以使用noteStore检索笔记列表。 获取NoteStore的函数:
createNoteStore : function(options) {
var noteStoreURL = options.edam_noteStoreUrl;
var noteStoreTransport = new Thrift.BinaryHttpTransport(
noteStoreURL);
var noteStoreProtocol = new Thrift.BinaryProtocol(
noteStoreTransport);
return new NoteStoreClient(noteStoreProtocol);
};
使用此功能,我可以获得笔记列表
function getList(){
var $callback = $.Deferred();
createNoteStore(params).listNotebooks(
params.oauth_token, function
onSuccess(notebooks) {
$callback.resolve(notebooks);
}, function onerror(error) {
$callback.reject(notebooks);
});
return $callback;
}
现在我想通过使用'findNotesMetadata'和findNotes来共享单个音符或用一些关键词搜索音符,它们都不适用于 EDAMUserException {errorCode:3,参数:“authenticationToken”}
function Search(word, options, params){
var $callback = $.Deferred();
if (!params) {
throw new Error('missing required parametres');
}
var filter = new NoteFilter();
filter.words = 'notebook:' + word + ' ';
var spec = new NotesMetadataResultSpec();
spec.includeTitle = true;
// if !options.noteStore && !
// create
api.createNoteStore(params).findNotes(
params.oauth_token, filter, 0, 100, spec,
function onSuccess(notebooks) {
$callback.resolve(notebooks);
}, function onerror(error) {
$callback.reject(error);
});
return $callback;
}
答案 0 :(得分:1)
errorCode:3是PERMISSION_DENIED所以可能是因为您没有获得API密钥的许可。通过基本访问,您可以列出笔记本,但如果要访问笔记,则需要完全访问权限。有关权限,请参阅this page。
您可以在OAuth流程中检查API密钥的权限。如果是这种情况,请使用完全权限重新创建API密钥以解决您的问题。