Ich bin hoffnungslos fest auf den Versuch, Amazon MWS Products API
anrufen. Insbesondere versuche ich this functionAmazon MWS Produkte API gibt 401 Fehler "Zugriff verweigert"
Es erfordert den Aufbau einer ziemlich komplizierten Antrag mit einer Unterschrift zu beantragen:
POST /Products/2011-10-01 HTTP/1.1
Content-Type: x-www-form-urlencoded
Host: mws.amazonservices.com
User-Agent: <Your User Agent Header>
AWSAccessKeyId=AKIAEXAMPLEFWR4TJ7ZQ
&Action=ListMatchingProducts
&MWSAuthToken=amzn.mws.4ea38b7b-f563-7709-4bae-87aeaEXAMPLE
&MarketplaceId=ATVPDKIKX0DER
&Query=0439708184
&SellerId=A1IMEXAMPLEWRC
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2012-12-12T22%3A23%3A50Z
&Version=2011-10-01
&Signature=V%2BEXAMPLERT%2Baj%2Fxwqo7y3PIifMFHeqFlNYW0EXAMPLEA%3D
Ich baue diese Abfrage mit Hilfe dieser little library:
So String meine letzte url sieht so aus:
https://mws.amazonservices.com/Products/2011-10-01?AWSAccessKeyId=<MY_ACCESS_KEY>&Action=ListMatchingProducts&MarketplaceId=A1PA6795UKMFR9&Query=0439708184&SellerId=<SELLER_ID>&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-04-19T16%3A50%3A13Z&Version=2011-10-01&Signature=mZt3OhM14gwLdsQ%2Bhxz5UFMzr7m2U36DvZ7RG3dcsTI%3D
Und es scheint, dass die URL-Zeichenfolge korrekt erstellt wird. Ich denke schon, denn wenn ein Parameter fehlt oder falsch ist, gibt die API 400 Fehler zurück mit der Erklärung, dass dieser Parameter ungültig ist. Gleiches gilt für die Unterschrift. Wenn die Signatur falsch ist, gibt die API einen Fehler zurück, der eindeutig angibt, dass die Signatur ungültig ist. Also, wieder, ich denke, dass die URL in Ordnung sein muss. Die API gibt jedoch einen 401-Fehler und eine HTML-Seite zurück, die wie folgt aussieht:
Zugriff verweigert. Und ich habe keine Ahnung warum. Ich habe mehrere Stunden damit verbracht, herauszufinden, was los ist. Kann mir jemand helfen?