Грубый файл, чтобы вы начали. Это взято с нескольких страниц, включая , этот из @Vaidas. У меня еще нет ссылок, извините. Мой единственный вклад - собрать это в одном месте.
Ни один из PHP-кода, поставляемого Amazon, не работал для меня из коробки. Я предполагаю, что у вас есть 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); //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);
линия, по крайней мере, в моем случае. CURL работал нормально для любой страницы, кроме страницы MWS (он просто давал мне пустую страницу с -1 в информации, и мне потребовалось большую часть дня, чтобы понять, что мне нужна эта строка. Это где-то на форумах MWS .
Для справки, вот ссылка на MWS ScratchPad .
Как только я лучше справлюсь с работой с MWS, возможно, я сделаю учебник. Или кто-то, кто лучше в HTML и нуждается в большем количестве функций, может сделать это.