我正在使用 node.js 服务器并希望调用 Google 购物服务并检索搜索查询的结果。我想我正确地应用了搜索查询字符串,但是我收到了 500 Reference Error: Request is not defined。我的代码如下:
googleShoppingService.js
//Shopping Search Factory
module.exports = function(productSearch){
return new productKey('---API-KEY-GOES-HERE---');
};
//constructor
function productKey(key) {
this.key=key;
}
// Search API
function toJSON(str){
var result;
try {
result=JSON.parse(str);
} catch(err){}
return result;
}
productKey.prototype.search = function (req, done) {
request.get('https://www.googleapis.com/shopping/search/v1/public/products')
.send({key:this.key})
.send({country:'US'})
.send({q:req.body.searchQuery.value})
.end(function (err, res) {
var body = toJSON(res.text);
var result = body && body.product || [];
return done(err, result);
});
};
应用程序.js
var productSearch = require('./apis/googleShoppingSearch.js');
var products = productSearch('---API-KEY-GOES-HERE---')
app.get('/productResults', function(req, res){
products.search(process.argv[2], function (err, results) {
var returnedData = ""
for (var i=0;i < results.length; i++) {
returnedData += (results[i].title + '<br />')
}
res.send (returnedData)
});
});
任何解决我的问题的建议将不胜感激。我在这里先向您的帮助表示感谢。