亚马逊的产品广告 API 返回错误的分页/结果值

Posted

技术标签:

【中文标题】亚马逊的产品广告 API 返回错误的分页/结果值【英文标题】:Amazon's Product Advertising API is returning wrong pagination/results values 【发布时间】:2018-08-03 20:44:33 【问题描述】:

我正在开发一个从亚马逊退货的应用程序:

client.itemSearch( 
      condition: 'New',
      keywords: decodeURI(req.query.q),
      merchantId: 'Amazon',
      itemPage: page,
      responseGroup: 'ItemAttributes,Offers,Images' + ',ShippingCharges'
    , (err, results, response) => 
       // work on results / response
    )

... 返回如下响应:

问题是页面设置为2、3等时API是直躺的,取值如下:

在第 1 页:共 65 页,7 页 第 2 页:共 56 页,6 页 第 3 页:共 45 页,5 页 第 4 页:共 38 页,共 4 页 在第 5 页:错误(整个响应未定义)

看起来这个 API 真的是坏了。

我需要知道有多少页面可以在前端显示分页。我该如何做到这一点?

【问题讨论】:

Ref page - 请说明确切的对象 property:value 组合了您的摘要(第 1 页:共 65 个,7 页 ) 源自。我确实看到了上面的对象,但是该对象在您的摘要中没有显示相同的数字 - 或者它们的来源。 @RandyCasburn 有问题的屏幕截图使用Braun Razor 作为输入。如果您无法重现此错误,请告诉我 这并没有解决我的问题。上面显示的结果对象与 直接说谎 断言之间存在差异。第 5 页显示的 ERROR 在查看结果对象时是有意义的 - 它说有 TotalPages: [ '4'] - 当然第 5 页将 ERROR。所以我试图理解这种差异。显示数据点之间的一致性会很有帮助。 【参考方案1】:

通过我可以看到的 Amazon API 阅读:

TotalPages Total number of pages in the response. Each page can return up to ten items. 所以我认为你可以知道总页数 const pages = Math.ceil(1.4)(TotalResults/10)

另外,我看到你有“新”标志。您正在过滤响应,因此可能正在过滤项目,但未过滤页数。

【讨论】:

以上是关于亚马逊的产品广告 API 返回错误的分页/结果值的主要内容,如果未能解决你的问题,请参考以下文章

亚马逊产品广告API ItemSearch返回空

连接到亚马逊产品广告 API 时出现“Access-Control-Allow-Origin”错误

亚马逊产品广告 API - 使用 Java/SOAP 批量查找商品时出现 503 错误

使用亚马逊产品广告 API - Python 搜索书籍

如何使用亚马逊的产品广告 API 获取运输信息

亚马逊产品广告 API - 获得评论排名