亚马逊产品广告API v5-如何通过一个API调用来检索不同类型的书籍硬拷贝,平装书,kindle ...

问题描述

我是一家公司的开发人员,该公司多年来一直使用亚马逊出色的产品广告API(PA-API)来获取图书信息。我们目前正在使用Java SDK和API v5。

问题

我们为客户提供与我们的会员的直接链接,以链接到不同亚马逊商店上的相关硬拷贝或电子书。为此,我们以ISBN(例如9780399562396)为关键字,但没有特定的搜索索引,创建一个SearchItems documentation请求。 过去,我们收到的回覆包含两个项目,因此有两个ASIN,一个用于硬拷贝,一个用于电子书(由itemInfo的产品组区分)。但是,由于一段时间以来,我们不得不认识到该响应通常只包含一项,即纸质产品。

我已经使用出色的Scratchpad尝试了不同的方法。

问题

有趣的是,当我明确包含搜索索引(更多信息here)“ Books”或“ KindleStore”时,API会以预期的项目进行响应(对于“ books”和一本书,对于“ KindleStore”。我们通过查看ItemInfo.Classifications(更多信息here)来完成此操作,但是,如果我在索引“ All”中搜索或未指定索引,则它仅返回一项(通常为硬拷贝) )。在我看来,这很奇怪……API /搜索索引是否应该像这样?

此外,我无法弄清楚如何在同一请求中搜索索引,在我看来,这完全不受支持,但我希望至少它将返回两个项目……

因此,我想问问您是否有人解释我们通过一个请求检索同一ISBN的两个ASIN(kindle +印刷版)。当然,可以为每个产品组创建两个单独的请求,但是由于API费率与所运输的商品收入挂钩,因此我们希望避免不必要的API请求。

使用或不使用搜索索引的某些示例

在下面的示例中,我通过执行SearchItem请求来寻找书号为ISBN 9780262043649的印刷版或书本。

a)具有给定搜索索引的硬拷贝

有效载荷

{
 "Keywords": "9780262043649","Resources": [
  "ItemInfo.Classifications","ItemInfo.Title"
 ],"SearchIndex": "Books","PartnerTag": "*********","PartnerType": "Associates","Marketplace": "www.amazon.com","Operation": "SearchItems"
}

响应

{
 "SearchResult": {
  "Items": [
   {
    "ASIN": "0262043645","DetailPageURL": "https://www.amazon.com/dp/0262043645?tag=getabstractcom&linkCode=osi&th=1&psc=1","ItemInfo": {
     "Classifications": {
      "Binding": {
       "DisplayValue": "Hardcover","Label": "Binding","Locale": "en_US"
      },"ProductGroup": {
       "DisplayValue": "Book","Label": "ProductGroup","Locale": "en_US"
      }
     },"Title": {
      "DisplayValue": "Novacene: The Coming Age of Hyperintelligence (The MIT Press)","Label": "Title","Locale": "en_US"
     }
    }
   }
  ],"SearchURL": "https://www.amazon.com/s?k=9780262043649&i=stripbooks&rh=p_n_availability%3A-1&tag=getabstractcom&linkCode=osi","TotalResultCount": 1
 }
}

b)具有给定搜索索引的Kindle

有效载荷

{
 "Keywords": "9780262043649","SearchIndex": "KindleStore","PartnerTag": "******","Operation": "SearchItems"
}

响应

{
 "SearchResult": {
  "Items": [
   {
    "ASIN": "B08BT4MM18","DetailPageURL": "https://www.amazon.com/dp/B08BT4MM18?tag=getabstractcom&linkCode=osi&th=1&psc=1","ItemInfo": {
     "Classifications": {
      "Binding": {
       "DisplayValue": "Kindle Edition","ProductGroup": {
       "DisplayValue": "Digital Ebook Purchas","Title": {
      "DisplayValue": "Novacene: The Coming Age of Hyperintelligence","SearchURL": "https://www.amazon.com/s?k=9780262043649&i=digital-text&rh=p_n_availability%3A-1&tag=getabstractcom&linkCode=osi","TotalResultCount": 1
 }
}

c)没有特定的搜索索引

有效载荷

{
 "Keywords": "9780262043649","PartnerTag": "*******","SearchURL": "https://www.amazon.com/s?k=9780262043649&rh=p_n_availability%3A-1&tag=getabstractcom&linkCode=osi","TotalResultCount": 1
 }
}

研究/其他信息

非常感谢您的任何建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...