1

运行此代码时出现错误 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);
    }
});

aaffiliate id 和 token 是正确的。

4

2 回答 2

1

我解决了这个问题,原因是现在 Flipkart 正在使用新的 api。如果你需要使用 nodejs ' flipkart-affiliate-client ' 插件。然后进行以下更改:

  1. 在 nodejs 项目路径“\node_modules\flipkart-affiliate-client\lib\utils.js”中找到该文件。

  2. 找到检查' if (method === 'keywordSearch') {'.

  3. 替换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 获取数据。

于 2018-05-17T14:09:59.073 回答
0

或者,您可以使用这个基于 javascript 承诺构建的 npm 包。

Flipkart-api-附属客户端

于 2018-06-20T13:55:13.010 回答