node.jsサーバーで作業していて、Googleショッピングサービスを呼び出して、検索クエリの結果を取得したいと考えています。検索クエリ文字列を正しく適用していると思いますが、500参照エラーが発生します:リクエストが定義されていません。私のコードは以下の通りです:
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);
});
};
app.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)
});
});
私の問題を解決するための提案をいただければ幸いです。よろしくお願いします。