Я просмотрел большинство образцов кода на основе этой проблемы при переполнении стека, но я все еще не могу получить запрос на работу. Я получаю эту ошибку:Подписанная нами подпись запроса не соответствует AMAZON AWS PHP
<Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.
Вот мой код:
$access_key = "ACCESS_KEY";
$associateTag = "AOSSOCIATE_TAG";
$secretkey = "SECRET_KEY";
$keywords = "harry%20potter";
$timestamp = gmdate("Y-m-d\TH:i:s\Z");
$operation = "AWSECommerceService";
function createSignature($operation,$timestamp,$secretkey){
$the_string=$operation.$timestamp;
return base64_encode(hash_hmac("sha256",$the_string,$secretkey,true));
}
$signature = createSignature ($operation,$timestamp,$secretkey);
$APIcall =
"http://ecs.amazonaws.com/onca/xml?".
"AWSAccessKeyId=$access_key&".
"AssociateTag=$associateTag&".
"BrowseNode=1000&".
"ItemPage=1&".
"Keywords=$keywords&".
"Operation=ItemSearch&".
"ResponseGroup=Medium&".
"SearchIndex=Books&".
"Service=AWSECommerceService&".
"Timestamp=$timestamp&".
"Version=2011-08-01&".
"Signature=$signature";
$response = simplexml_load_file($APIcall);
Может кто-нибудь помочь?
Почему вы беспокоитесь об этом, когда есть хороший, хорошо поддерживаемый PHP API, доступный прямо из Amazon? http://aws.amazon.com/sdkforphp/ – ceejayoz
Поскольку я чувствовал, что установка SDK была немного превыше всего того, чего я хотел достичь, я в конечном итоге просто хочу показать, возможно, 3 элемента из амазонки в боковой панели на основе ключевого слова и все, просто чувствовал, что делать это сам будет менее громоздким и быстрым. – AJFMEDIA
Установка SDK занимает пару минут. Вы явно потратили, по крайней мере, то, что пытались сделать это самостоятельно, устранение неполадок и размещение здесь. – ceejayoz