Amazon API: problemi con signature

claudiog74

Nuovo Utente
25 Giu 2014
3
0
0
Sto perdendo un sacco di ore per venire fuori da una situazione intricatissima. Devo creare una ListOrders, ma continua a darmi questo errore:

Sender SignatureDoesNotMatch 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.

Ho l'impressione che nè la signature, nè gli altri campi arrivino ad amazon, anche perchè ho testato il tutto qui: mws-eu.amazonservices.com/scratchpad/index.html ed inserendo i parametri, gli stessi che ho messo nel codice, il response è corretto.

Ecco l'ultimo codice che ho provato:

PHP:
function call_amazon(){
$campi["AWSAccessKeyId"] = rawurlencode($this->AWSAccessKeyId);
$campi["Action"] = 'ListOrders';
$campi["MarketplaceId.Id.1"] = rawurlencode($this->marketplaceid);
$campi["SellerId"] = rawurlencode($this->Merchant);            
$campi["SignatureVersion"] = rawurlencode($this->SignatureVersion);
$campi["SignatureMethod"] = rawurlencode($this->SignatureMethod);
$campi["LastUpdatedAfter"] = $this->LastUpdatedAfter;
$campi["Timestamp"] = gmdate('Y-m-d')."T".gmdate('H:i:s')."Z"; 
$campi["Version"] = rawurlencode("2013-09-01");
$signature = $this->crea_signature($campi,$campi["Timestamp"]);
$campi['Signature'] = urlencode($signature);
ksort($campi);
$fields_string = '';
foreach($campi as $key=>$value) {
   $fields_string .= $key.'='.$value.'&';
}
rtrim($fields_string, '&');

// Elimina la & in fondo alla query string
$lung = strlen($fields_string) - 1;
$fields_string = substr($fields_string, 0,$lung);
$ch = curl_init($this->endpoint);
            
curl_setopt($ch,CURLOPT_POST, count($campi));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);  
$output = curl_exec($ch);
print_r(curl_getinfo($ch)); 
curl_close($ch);
return simplexml_load_string($output);
}



function crea_signature($campi,$ts){  
$stringa = 'POST';
$stringa .= "\n";
$stringa .= "mws-eu.amazonservices.com";
$stringa .= "\n";
$stringa .= urlencode("/Orders/2013-09-01");
$stringa .= "\n";
     

$stringa .= "AWSAccessKeyId=".$campi["AWSAccessKeyId"];
$stringa .= "&Action=".$campi["Action"];        
$stringa .= "&LastUpdatedAfter=".$campi["LastUpdatedAfter"];

$stringa .= "&MarketplaceId.Id.1=".$campi["MarketplaceId.Id.1"];
$stringa .= "&SellerId=".$campi["SellerId"];
$stringa .= "&SignatureMethod=".$campi["SignatureMethod"];
$stringa .= "&SignatureVersion=".$campi["SignatureVersion"];
                
$stringa .= "&Timestamp=".$ts;
$stringa .= "&Version=".$campi["Version"];

$s = hash_hmac('sha256', str_replace(' ', '', $stringa), $this->secret, true);
$sig =  base64_encode($s);

return $sig;
}

Premetto che il valore dei campi passati è quello corretto. Sapete aiutarmi e tirarmi fuori da questo casino? Grazie!
 
Discussioni simili
Autore Titolo Forum Risposte Data
Daniele_Carrara Amazon SP-API PHP 0
V [Buoni amazon]+[Itunes] legali e scontati del 25% Altri Annunci 0
B [COMPRO] Canale Telegram offerte Amazon Annunci servizi di Social Media Marketing 0
S [VENDO] pagina facebook "OFFERTE AMAZON" con bot automatico Annunci servizi di Social Media Marketing 6
G Configurazione servers con AMAZON WEB SERVICES Offerte e Richieste di Lavoro e/o Collaborazione 0
peppoweb Record per Amazon: un milione di copie vendute per il libro Harry Potter Discussioni Varie 0
Rikk73 [Vendo/Offro] Realizzazione applicazioni web e/o API rest Offerte e Richieste di Lavoro e/o Collaborazione 0
L Api Google - kml Javascript 1
M Google API Vision PHP 5
L java + Api di google Javascript 1
S Leggere dati da API e visualizzarli PHP 0
M user agent per il download di api PHP 0
motleyrulez Chiamata Rest Api durante Redirect PHP 1
bubino8 Consigli e aiuti integrazione API Programmazione 8
michele81 [WordPress] problemi plug meteo api key WordPress 4
W Api facebook o api Instagram (v1(? Ajax 0
A [PHP] Rest Api PHP 1
E [PHP] rest api PHP 3
W [A PAGAMENTO] Programmatore per sviluppare API REST in C# Offerte e Richieste di Lavoro e/o Collaborazione 1
W [C#] Api RESTFul server/client con cifratura .NET Framework 0
W [C#] Sicurezza Client/Server - SOAP o RESTFull API .NET Framework 0
M Creare un lettore audio con le API di Soundcloud Programmazione 0
T Api google maps Sviluppo app per Android 1
M [PHP] API con metodo POST PHP 0
D [Javascript] Automazione Wordpress CF7 per Teamup Calendar (tramite api) Javascript 1
M [PHP] GoDaddy API PHP 2
V Api di twitter cambiata Ajax 0
C PHP e API PHP 0
A API per app PHP 1
M Aiuto con script di ricerca video youtube data api v3 Javascript 1
M Installazione libreria Zend GData per google Api PHP 0
L Funzione per API HTML5 Javascript 0
L API Geolocation Javascript 4
Z hosting gratuiti e problemi con web api Hosting 1
A API Hotspot nativo android Sviluppo app per Android 0
S Db access, controllo percorso chilometrico con api maps. MS Access 0
J Youtube api per progetto per un museo Javascript 0
K App che utilizzi le api di google maps Sviluppo app per Android 1
A Semplice applicazione con le facebook api PHP 1
S Inserimento API key Singring su CSM Wordpress PHP 0
ivarello Google API Javascript 2
A Google maps API v2 in app Android Sviluppo app per Android 2
P Api imdb PHP 0
S Creare Sistema di API Request e Response libero e protetto PHP 7
M Api per gestione video youtube in joomla 3.2 Joomla 0
J Twitter API nuova ver 1.1 PHP 0
K Google Scholar api SEO e Posizionamento 0
P Stored procedure import xml/json web API MySQL 0
L Google api v3 geolocalizzazione problemini. PHP 2
G Paginazione php utilizzando le api di careerjet PHP 0

Discussioni simili