我試圖通過MWS Scratchpad獲得訂單列表。 在便籤簿中一切正常。亞馬遜MWS ListOrders從Scratchpad請求
的HTTP POST是
POST /Orders/2013-09-01?AWSAccessKeyId=$CHIAVE_ACCESSO
&Action=ListOrders
&SellerId=$SELLER_ID
&SignatureVersion=2
&Timestamp=2016-11-29T18%3A58%3A52Z
&Version=2013-09-01
&Signature=$SIGNATURE
&SignatureMethod=HmacSHA256
&CreatedAfter=2016-10-31T23%3A00%3A00Z
&MarketplaceId.Id.1=APJ6JRA9NG5V4 HTTP/1.1
Host: mws.amazonservices.it
x-amazon-user-agent: AmazonJavascriptScratchpad/1.0 (Language=Javascript)
Content-Type: text/xml
並登錄(在第二個框中)的字符串是
POST
mws.amazonservices.it
/Orders/2013-09-01
AWSAccessKeyId=$CHIAVE_ACCESSO&Action=ListOrders&CreatedAfter=2016-10-31T23%3A00%3A00Z&MarketplaceId.Id.1=APJ6JRA9NG5V4&SellerId=$SELLER_ID&Signat ureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2016-11-29T18%3A58%3A52Z&Version=2013-09-01
表示暫存器是正確的結果。
我想要做的是通過PHP提出請求並詳細說明結果。
,但如果我的拳頭試圖把請求我的瀏覽器,如
https://mws.amazonservices.it/Orders/2013-09-01?AWSAccessKeyId= $ CHIAVE_ACCESSO &行動= ListOrders & MarketplaceId = APJ6JRA9NG5V4 & SellerId = $ SELLER_ID &是SignatureMethod = HmacSHA256 & SignatureVersion = 2 &時間戳= 2016- 11-29T19%3A13%3A01.000Z &版本= 2013年9月1日&簽名= Q9Xnr9JhtkzeLUAsCFKPln8SS34FkCQRmELE2WiIhPo%3D & CreatedAfter = 2016-10-31T23%3A00%3A00Z
我用來創建簽名被找到計算器的方法和如下:
$sign = 'GET' . "\n";
$sign .= 'mws.amazonservices.it' . "\n";
$sign .= '/Orders/2013-09-01' . "\n";
$sign .= $arr;
$signature = hash_hmac("sha256", $sign, $CHIAVE_SEGRETA, true);
$signature = urlencode(base64_encode($signature));
我做錯了嗎?
我看到了它,但它似乎有點過時了,因爲上次更新日期2013 ... – Martina
其實這是最後一次接近2015年底更新的,只是看裏面的代碼。客戶端庫基於最新版本的API,這是2013年的來源。 – ScottG