运行此代码时出现错误404。它使用flipkart-affiliate-client npm包for flipkart api(https://github.com/zivost/flipkart-affiliate-client)
var flipkart = require('flipkart-affiliate-client');
const express = require('express');
const router = express.Router();
var client = flipkart.createClient({
FkAffId: 'fkid',
FkAffToken: 'token',
responseType: 'json'
});
client.keywordSearch({
query: "iphone",
resultCount: "1"
}, function(err, results) {
if (err) {
console.log(err + "!!!!!!!!");
} else {
console.log(results);
}
});
aafiliate id和token是正确的。
答案 0 :(得分:0)
我解决了这个问题,原因是现在flipkart正在使用新的api ..如果你需要使用nodejs' flipkart-affiliate-client '插入。然后进行以下更改:
在nodejs项目路径中找到该文件' \ node_modules \ flipkart-affiliate-client \ lib \ utils.js'。
找到支票' if(method ===' keywordSearch'){'。
for xml response replace api url ==>的 https://affiliate-api.flipkart.net/affiliate/1.0/search.xml 强>
用于json响应替换api url ==>的 https://affiliate-api.flipkart.net/affiliate/1.0/search.json 强>
现在在服务器js文件中写下代码以从客户端或POSTMAN等任何工具获取数据:
app.route('/api/getflipkartproducts/:productname').get((req, res)=>{
var productName=req.params['productname'];
var client = flipkart.createClient({
FkAffId: '(trackingcode)',
FkAffToken: '(token)',
responseType: 'json/xml' //json or xml response
});
console.log('productName : '+productName);
client.keywordSearch({
query: productName,
resultCount: "5"
}, function(err, result){
if(!err){
console.log(result);
res.send({'results':result});
}else {
console.log(err);
console.log('result :'+result);
res.send({'error':err});
}
});

这将成功从flipkart获取数据。
答案 1 :(得分:0)
或者,您可以使用基于javascript Promise构建的npm软件包。