这是一个粗略的文件,可帮助您入门。此代码取自多个页面,包括 @Vaidas 的 此页面。抱歉我还没有链接。我的唯一贡献是将其整合到一个地方。
我没能成功运行 Amazon 提供的任何 PHP 代码。我假设您已经安装了 XAMPP 和 cURL 或等效环境。该代码应该能够立即工作,让您开始进行所需的操作。只需插入您的凭据即可。
<?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);
$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);
这行代码非常重要。CURL 可以正常工作,除了 MWS 页面(它只会给我一个带有 -1 的空白页面,并且我花了一整天时间才发现需要这行代码。这个代码在 MWS 论坛上可以找到。
为了保险起见,这里是一个 MWS ScratchPad 的链接。
一旦我更好地掌握了 MWS 的操作,也许我会制作一个教程。或者有需要更多功能的 HTML 专家可以做到。