4 Stimmen

Amazon-Webdienst mit Artikelsuche nach UPC

Meine Arbeitsumgebung ist Visual Studio 2008 + C#

Ich arbeite auf Amazon WebService, ich möchte die Daten von Amazon mit SOAP abrufen, aber wenn ich versuche, IDType = UPC zu übergeben, gibt es mir unten Fehlermeldung, so was kann ich für diese tun?

Fehler:

036725229884 ist kein gültiger Wert für ItemId. Bitte ändern Sie diesen Wert und wiederholen Sie Ihre Anfrage

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";

Anmerkung: Wie kann ich mehrere Suchindizes wie ("Bücher", "Foto", "Video") hinzufügen?

Ich habe folgenden WebService verwendet: http://webservices.amazon.com/AWSECommerceService/2009-11-01/US/AWSECommerceService.wsdl

2voto

Simon_Weaver Punkte 129442

Achten Sie auch auf den Unterschied zwischen UPC und EAN.

U EAN = 13 Ziffern

Wenn Sie einfach einen UPC eingeben 738678251584 (12 Ziffern) oder EAN 3253581057803 (13 Ziffern) bei Amazon.com eingeben, werden beide als UPC in der Beschreibung angezeigt, aber wenn Sie die API verwenden, müssen Sie bei der Suche EAN angeben.

Wir haben Produkte mit beidem und Sie müssen den Suchtyp entsprechend angeben, sonst werden sie nicht gefunden.

bearbeiten : ODER Sie können einfach eine 0 vor jede 12-stellige Zahl setzen und immer nach EAN suchen. Dies ist wahrscheinlich die beste Lösung. Per Definition "0" + UPC = EAN

Diese Anfrage hat bei mir funktioniert (searchType ist entweder UPC oder 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 };

0voto

Joel Fillmore Punkte 5798

Ich glaube nicht, dass Amazon Abfragen über mehrere Suchindizes hinweg unterstützt. Allerdings gibt es eine spezieller Index namens All die Sie für UPC-Suchen verwenden können. Es gibt einige Einschränkungen bei den Parametern, die mit diesem Index verwendet werden können, aber da Sie folgende Angaben machen All para MerchantId y Condition kann es funktionieren. Wenn nicht, können Sie die Abfrage ohne diese Parameter durchführen und dann eine neue Abfrage starten, sobald Sie die ASINs für die UPCs haben, an denen Sie interessiert sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X