运行此代码时出现错误 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);
}
});
会员 ID 和令牌正确。
我修复了这个问题,原因是现在flipkart正在使用新的api..如果您需要使用nodejs'flipkart-affiliate-client'插件。然后进行以下更改:
在nodejs项目路径中找到该文件' ode_modules lipkart-affiliate-client\lib\utils.js'.
找到检查' if (method === 'keywordSearch') {'.
对于 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 Promise 构建的 npm 包。
我正在使用联属egg插件与WordPress rehub主题集成,当我搜索未找到的任何Flipkart产品结果时,我遇到了同样的错误,任何人都可以帮助我解决这个问题。