通过UPC进行物品查找的亚马逊网络服务

我的工作环境是Visual Studio 2008 + C#

我正在使用Amazon WebService,我想使用SOAP从Amazon获取数据,但是当我试图传递IDType = UPC时,它会给出下面的错误消息,那么我可以为此做些什么?

错误:

036725229884不是ItemId的有效值。 请更改此值,然后重试您的请求

mycode的:

ItemLookupRequest request1 = new ItemLookupRequest();
request1.IdType = ItemLookupRequestIdType.UPC;
request1.IdTypeSpecified = true;
request1.ItemId = new string[] { ProductID };
request1.ResponseGroup = new string[] { "Request", "Large", "OfferFull", "BrowseNodes" };
request1.MerchantId = "All";
request1.Condition = Condition.All;
request1.SearchIndex = "Books";

注意:如何添加多个SearchIndex(如“书籍”,“照片”,“视频”)?

我使用了以下WebService:http://webservices.amazon.com/AWSECommerceService/2009-11-01/US/AWSECommerceService.wsdl


也是厌倦了UPC和EAN之间的区别。

UPC = 12位数字,EAN = 13位数字

如果您仅向Amazon.com输入UPC 738678251584 (12位数字)或EAN 3253581057803 (13位数字),它将在说明中显示为UPC,但在使用API​​时必须在搜索时指定EAN。

我们有两种产品,您需要相应地指定搜索类型,否则将无法找到。

编辑 :或者你可以预先设置0到任意12位数字,并且总是搜索EAN。 这可能是最好的解决方案。 根据定义“0”+ UPC = EAN

此请求适用于我(searchType是UPC或EAN):

        ItemLookup itemLookup = new ItemLookup()
        {
            AssociateTag = "XXXXX-20",
        };
        itemLookup.AWSAccessKeyId = ACCESS_ID;

        ItemLookupRequest itemLookupRequest = new ItemLookupRequest();
        itemLookupRequest.IdTypeSpecified = true;
        itemLookupRequest.IdType = searchType;
        itemLookupRequest.SearchIndex = "All";
        itemLookupRequest.ItemId = upcEanList;
        itemLookupRequest.ResponseGroup = new[] { "OfferSummary", "ItemAttributes" };
        itemLookup.Request = new ItemLookupRequest[] { itemLookupRequest };

我不认为亚马逊支持跨多个搜索索引进行查询。 但是,有一个名为All的特殊索引,可用于UPC查找。 与此索引一起使用的参数有一些限制,但由于您指定了All for MerchantIdCondition它可能会有效。 如果没有,您可以在没有这些参数的情况下执行查询,然后在您有兴趣的UPC的ASIN之后发出新的查询。

链接地址: http://www.djcxy.com/p/39051.html

上一篇: Amazon web service with item lookup by UPC

下一篇: fineuploader chunk signature v4