一个粗略的文件让你开始。这取自几页,包括来自@Vaidas 的这一页。我还没有链接,抱歉。我唯一的贡献是将它们放在一个地方。
亚马逊提供的 PHP 代码没有一个开箱即用。我假设您有带有 cURL 或等效环境的 XAMPP。此代码应该开箱即用,让您开始了解需要发生的事情。只需插入您的凭据。
<?php
$param = array();
$param['AWSAccessKeyId'] = 'YourAccessKeyID';
$param['Action'] = 'GetLowestOfferListingsForASIN';
$param['SellerId'] = 'YourSellerID';
$param['SignatureMethod'] = 'HmacSHA256';
$param['SignatureVersion'] = '2';
$param['Timestamp'] = gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time());
$param['Version'] = '2011-10-01';
$param['MarketplaceId'] = 'YourMarketplaceID';
$param['ItemCondition'] = 'new';
$param['ASINList.ASIN.1'] = 'B00C5XBAOA';
$secret = 'YourSecretKey';
$url = array();
foreach ($param as $key => $val) {
$key = str_replace("%7E", "~", rawurlencode($key));
$val = str_replace("%7E", "~", rawurlencode($val));
$url[] = "{$key}={$val}";
}
sort($url);
$arr = implode('&', $url);
$sign = 'GET' . "\n";
$sign .= 'mws.amazonservices.com' . "\n";
$sign .= '/Products/2011-10-01' . "\n";
$sign .= $arr;
$signature = hash_hmac("sha256", $sign, $secret, true);
$signature = urlencode(base64_encode($signature));
$link = "https://mws.amazonservices.com/Products/2011-10-01?";
$link .= $arr . "&Signature=" . $signature;
echo($link); //for debugging - you can paste this into a browser and see if it loads.
$ch = curl_init($link);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/xml'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
echo('<p>' . $response . '</p>');
print_r('<p>' . $info . '</p>');
?>
请注意,
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
至少在我的情况下,拥有这条线是至关重要的。除了 MWS 页面外,CURL 对任何页面都可以正常工作(它只是给了我一个信息中带有 -1 的空白页面,我花了大部分时间才弄清楚我需要那条线。它在 MWS 论坛的某个地方.
为了更好地衡量,这里是MWS ScratchPad 的链接。
一旦我对使用 MWS 有了更好的了解,也许我会做一个教程。或者更擅长 HTML 并且需要更多功能的人可以做到这一点。