2015-01-03 59 views
0

我覺得自己像一個完整的白癡,但我和一個朋友正在一起工作一個項目,並且無法獲得從Etsy API返回所需項目的第一條路線,有getAllListings將項目添加到數據庫。如果您明顯地看到我們做錯的事情,請告訴我。從API中提取信息並將其添加到數據庫中(MEAN堆棧)

我還要提到的是,雖然聲明console.dir(body)並打印出來的項目到終端它看起來並不像內容被傳遞到

謝謝!

routes.js

//this i want to return a list of active listings from the users shop. 

app.get('/api/etsy/getListings',function(req, res){ 
    bEtsy.getAllListings(req, res, function(err, body) { 
    }); 
    res.json(req.body); 
}); 

bEtsy.js

var standardCallback = function (err, status, body, headers, callback) { 
    if (err) { 
    console.log(err); 
    return callback(err, null); 
    } 

    if (body) { 
    console.dir(body); 
    return callback(null, body); // this gives me an error 
    } 
} 


var getAllListings = function(itemId, callback){ 
    var Item = mongoose.model('Item'); 
    var listingsParams = { 
    include_private: true 
    } 

    etsy.auth().get(
    '/shops/'+etsy.shop+'/listings/active', 
    listingsParams, 
    function(err, status, body, headers){ 
     var newi = new Item({name: body.title, stock: body.count, owner: "00000000000000000000", 
     etsy:{listingId: body.listing_id, stock: body.count}}); 
     newi.save(function(err){ 
     if (err) return handError(err); 
     }); 
     standardCallback(err, status, body, headers, callback); 
    } 
); 
}; 

回答

1

要調用帶有三個參數此功能,當只需要兩個

bEtsy.getAllListings(req, res, function(err, body) { 
}); 

更重要的是頂部第一個參數itemId正在傳遞請求對象,然後它也不會被使用在函數本身內部,但是一些叫做listingsParams的全局變量是?!?

相關問題