运行此代码时出现错误 404。它使用 flipkart-affiliate-client npm 包用于 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 和令牌是正确的。
我解决了这个问题,原因是现在 flipkart 正在使用新的 api。如果你需要使用nodejs'flipkart-affiliate-client'插件。然后执行以下更改:
-
在 NodeJS 项目路径 'ode_modules\Flipkart-affiliate-client\lib\utils.js' 中找到该文件。
-
找到检查 ' if (方法 === '关键字搜索'( {'。
- 替换 Flipkart API URL,如下所示:
对于 XML 响应,请替换 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获取数据。
您可以使用这个基于 javascript 承诺构建的 npm 包。
Flipkart-API-affiliate-client