Amazon Simple Product API-Fehler beim Nachschlagen des Produkts

8
%Vor%

Wenn ich den obigen Code ausführe funktioniert es gut und ich bekomme diese Ausgabe von der Druckfunktion: <amazon.api.AmazonAPI object at 0x7fb6e59f7b38>

So funktioniert alles gut mit meinem Zugriffsschlüssel, geheimen Schlüssel und dem zugehörigen Tag.

Wenn ich jedoch die letzte Zeile #product = amazon.lookup(ItemId='B00EOE0WKQ') ablehne, bekomme ich diese Fehlerrückverfolgung:

%Vor%

Ich habe die Anweisungen des offiziellen GitHubs für diese Ссылка und den Code, den ich bin, befolgt Sie werden sehen, ich habe aus der "Usage" -Absatz auf der Github-Seite verwendet, so bin ich mir nicht sicher, was schief geht.

Für zusätzliche Informationen benutze ich eine virtuelle Umgebung und um zu zeigen, dass ich die richtigen Pakete installiert habe, ist mein out of pip einfrieren:

%Vor%

Auch habe ich mehrere verschiedene asin Zahlen von gültigen Produkten ausprobiert und ich bekomme die gleiche Fehlermeldung.

Ich benutze Python 3.4 auf Ubuntu 14.04

    
Darren Haynes 02.07.2016, 17:31
quelle

2 Antworten

3

Ich denke, das Problem liegt in der Region. Bitte wählen Sie den gültigen Wert von hier . Erklärung kann sein, dass AWS Ihre Anmeldeinformationen validieren kann, aber wenn es zu einem "echten" Aufruf kommt, schlägt es fehl, da "US" keine gültige Region ist ...

    
Michał Zaborowski 10.07.2016 12:32
quelle
-1

Sie müssen möglicherweise Ihr Konto für den API-Zugriff autorisieren. Diese Schritt-für-Schritt sollte Sie durchgehen.

Bearbeiten:

Ich habe alle die gleichen Versionen installiert und verwende den gleichen Python-Code mit meinen eigenen Schlüsseln und es funktioniert gut. Das einzige Mal, dass ich auf diesen Fehler stieß, war, dass ich die Region nicht angegeben habe (was Sie eindeutig tun).

Eine Sache, die ich versuchen würde, ist, den folgenden Code in Ihr Skript einzufügen:

  

Importprotokollierung
  logging.basicConfig (level = logging.DEBUG)

sollte die folgende Anfrage-URL anzeigen:

  

DEBUG: bottlenose.api: Amazon URL:    Ссылка und AssociateTag = & amp; ItemId = B00EOE0WKQ & amp; Operation = ItemLookup & amp; ResponseGroup = Large & amp; S        service = AWSECommerceService & amp; Timestamp = & amp; Version = 2013-08-01 & amp; Signatur =

Sie können dies in Ihrem Browser aufrufen und sehen, dass ein XML-Dokument zurückgegeben wird. Wenn es fehlschlägt, sollte es Ihnen hoffentlich einen besseren Fehler geben als das, was Ihnen die Pythonlib gibt.

Zum Beispiel, wenn ich Ссылка besuche (hat das nie für mich funktioniert), aber Es enthält eine Liste der Basis-URLs für die Region.

Ich habe meinen Partner-Account in der .co.uk-Region angelegt, daher gelten meine Anfragen nur für Ссылка , wenn ich Versuchen Sie stattdessen, Ссылка abzufragen, dann sehe ich:

  

Die von uns berechnete Anforderungssignatur stimmt nicht mit der von Ihnen angegebenen Signatur überein   unter der Voraussetzung. Überprüfen Sie den geheimen AWS-Zugriffsschlüssel und die Signaturmethode. Konsultieren   die Servicedokumentation für Details.

Wenn Sie auf amazon.com einen Partneraccount haben, versuchen Sie es ohne Angabe der Region, da ich glaube, dass dies der Standard ist. Überprüfen Sie, ob Ihre VM über eine Internetverbindung verfügt, und wenn nichts anderes funktioniert, versuchen Sie, einen anderen Zugriffsschlüssel zu erstellen und diesen zu verwenden.

    
thelazydeveloper 04.07.2016 21:41
quelle