代码之家  ›  专栏  ›  技术社区  ›  Tom

'SearchIndex=“All”'在Amazon产品API中不起作用

  •  1
  • Tom  · 技术社区  · 16 年前

    我在Amazon产品API中使用SearchIndex=“All”,没有得到任何结果。当我指定类别时,我会得到结果。

    有人知道这个搜索索引有什么限制吗?

    谢谢

    4 回复  |  直到 11 年前
        1
  •  3
  •   user256430    15 年前

    由于没有代码片段可供查看,我可能在这里偏离了基准,但请确保使用 Operation=ItemSearch 在你的请求中。

    如果您下载了开发人员指南PDF,那么从253页开始就会有很多很棒的信息,其中包括限制、必要的包含和示例。

    干杯

        2
  •  3
  •   B Seven    15 年前

    由于亚马逊上列出的商品数量庞大,因此存在一定的局限性。所以,他们强迫你使用“搜索索引”。这个名字不太好,但它的意思是 类似的 亚马逊主页上列出的。这些部门包括图书、电子等。

    以下是API开发指南2010-11-01版第103页的摘录。请确保使用与API调用相同版本的Dev-Guide,因为功能在不同版本之间发生更改。您可以下载开发指南:
    http://www.onlineinvestingai.com/publicFiles/Amazon-Product-Advertising-API-Dev-Guide-2010-11-01.pdf .

    我把它上传到上面的链接,因为在Amazon开发人员的网站上几乎找不到它。

    跨索引搜索

    ItemSearch请求要求指定搜索索引。这是因为在亚马逊数据库中搜索数以百万计的产品将花费太长时间。然而,产品广告API允许您使用全部或混合搜索索引跨多个搜索索引进行搜索。

    所有搜索索引

    你可以用所有的 search index可在所有搜索索引中执行项搜索搜索。但是,对这一请求有一些限制: 您可以在请求中使用的唯一参数是关键字,例如,您不能对结果进行排序。

    注: 不能在ItemLookup请求中使用All搜索索引。

    亚马逊产品广告API实际上相当容易使用。困难的部分是在亚马逊网站上找到文档。

    希望能有所帮助。文档很长,一开始很难理解,但是在您尝试不同的搜索并查看结果之后,它就工作了。

    下面是另外两个可能有用的文档(对于同一版本的API):
    入门指南:
    http://www.onlineinvestingai.com/publicFiles/Amazon-Product-Advertising-API-Getting-Started-Guide-2010-11-01.pdf

    快速参考卡:
    http://www.onlineinvestingai.com/publicFiles/Amazon-Product-Advertising-API-Quick-Reference-Card-2010-11-01.pdf

        3
  •  1
  •   abushawki    15 年前

    看,我的朋友,你所需要做的搜索(所有)是使用公正的关键字不分配任何其他参数的请求,你会有结果,但只有50个结果,因为亚马逊会通知你识别类别。

        4
  •  1
  •   Matty    12 年前

    这是一个老问题,但今天使用产品广告API,我只发现了一些死角和沮丧,试图找到答案。希望这能帮助很多通过签约并需要开始搜索的人。

    这里列出的许多c#示例使用以下内容:

    ItemSearchRequest request = new ItemSearchRequest();
    request.SearchIndex = "Books";
    request.Title = "WCF";
    request.ResponseGroup = new string[] { "Small" };
    

    问题是这个例子使用“Title”进行搜索,我也没有得到任何结果。使用“Keywords”,您将看到结果返回,SearchIndex设置为“All”

    ItemSearchRequest request = new ItemSearchRequest();
    request.SearchIndex = "All";
    request.Keywords = "WCF";
    request.ResponseGroup = new string[] { "Small" };
    

    这应该能解决你的问题。