2016-05-17 6 views
0

のNode.jsサーバーにEvernoteのAPIを使用してノートの内容を取得します(express.js)私はEvernoteのAPIとのNode.jsを使って自分のプライベートなプロジェクトに取り組んでいます

私は正常jsOAuthモジュールとIを使用してrequestTokenaccessTokenを得ましたメモ​​をnoteMetaDataからも得ました。

私は

noteStore.getNote

機能を使用する場合しかし、それは連続して失敗します。 NodeBinaryHttpTransport.flushで

エラー:私はすでに私のコールバック関数を挿入しかし、バイナリプロトコルは、同期呼び出し

をサポートしていません。このにErrorMessageと 。

私はAPIドキュメントを確認しましたが、javascript用の特定のドキュメントはありませんでした。引数は異なります。私はがログFunction.lengthでどんな種類の議論を望んでいるのか調べましたが、それは0でした。

ここは私のコードです。

私はexpressとrouterを使用しています。require( 'express')。

gbは、開発者のトークンと秘密を含むグローバルオブジェクトです。

router.get('/users',function (request,response){ 
var parsedUrl = url.parse(request.url); 
console.log('search is:'+parsedUrl.search) 
client.getAccessToken(
    gb.oauthToken, 
    gb.oauthSecret, 
    getOauthVerifier(parsedUrl.search), 
    function(error, oauthAccessToken, oauthAccessTokenSecret, results) { 
    if(error) { 
     console.log("error\n\n\n"); 
     console.log(error); 
    } 
    else { 
     console.log('successfully get an access token.'); 
     var accessedClient = new Evernote.Client({ 
     token: oauthAccessToken, 
     sandbox:true 
     }) 

     var noteStore = accessedClient.getNoteStore("https://sandbox.evernote.com/edam/note/"); 
     noteStore.listNotebooks(function(err, notebook){ 

       var filter = new Evernote.NoteFilter(); 

       filter.notebookGuid = notebook[0].guid; 

       console.log('filter is..',filter); 
       var resultSpec = new Evernote.NotesMetadataResultSpec(); 
       resultSpec.includeTitle = true; 
       resultSpec.includeContentLength = true; 
       resultSpec.includeCreated = true; 
       resultSpec.includeAttributes = true; 

       noteStore.findNotesMetadata(filter, 0, 100, resultSpec, function(err, notesMeta) { 
        if (err) { 
        console.error('err',err); 
        } 
        else { 

        console.log("Found "+notesMeta.notes.length+" notes in your default notebook . . .") 
        for (var i in notesMeta.notes) { 

        var noteGuid = notesMeta.notes[i]['guid']; 

        var note = noteStore.getNote(
         noteGuid,{ 
         withContent: true 
         }, 

         function(err, results){ 

          if(err) return console.error("Error") 
          console.log(results); 
          response.end(); 
         })      
        } 
        } 
       }); 
     })   
    } 
); 
}) 

答えて

0

愚かな質問でした。私は解決策を見つけた。 私がする必要があったのは、APIドキュメントに記載されたパラメータに固執することでした。

noteGuid,{ 
    var note = noteStore.getNote(true, true, true,true 
}, 

function(err, results){ 
    if(err) 
     return console.error("Error") 
    console.log(results); 
    response.end(); 
}) 
関連する問題