• Home
  • Forum
  • Fare Web
  • PHP

[AWS] [PHP] - Lookup by ISBN

  • Creatore Discussione Creatore Discussione webmachine
  • Data di inizio Data di inizio 28 Dic 2019

webmachine

Utente Attivo
12 Gen 2016
44
0
6
  • 28 Dic 2019
  • #1
Ciao a tutti,
sto provando a sviluppare uno script con le API di AWS che, dato il codice ISBN di un libro, restituisca i relativi dettagli (Titolo, Autore etc...).
Come sicuramente saprete, Amazon richiede la firma delle GET Request, che io eseguo tramite questa Funzione PHP:
Codice:
$q="CODICE_ISBN";
$private_key = "LAMIAPKEY";
$params["AWSAccessKeyId"] = "LAMIAKEY";
$params["AssociateTag"] = "REFTAG";
$params["Timestamp"] = gmdate("Y-m-d\TH:i:s\Z");

function signAmazonUrl($url, $secret_key)
{
    $original_url = $url;
    // Decode anything already encoded
    $url = urldecode($url);
    // Parse the URL into $urlparts
    $urlparts  = parse_url($url);
    // Build $params with each name/value pair
    foreach (explode('&', $urlparts['query']) as $part) {
        if (strpos($part, '=')) {
            list($name, $value) = explode('=', $part, 2);
        } else {
            $name = $part;
            $value = '';
        }
        $params[$name] = $value;
    }
    // Include a timestamp if none was provided
    if (empty($params['Timestamp'])) {
        $params['Timestamp'] = gmdate('Y-m-d\TH:i:s\Z');
    }
    // Sort the array by key
    ksort($params);
    // Build the canonical query string
    $canonical       = '';
    foreach ($params as $key => $val) {
        $canonical  .= "$key=".rawurlencode(utf8_encode($val))."&";
    }
    // Remove the trailing ampersand
    $canonical       = preg_replace("/&$/", '', $canonical);
    // Some common replacements and ones that Amazon specifically mentions
    $canonical       = str_replace(array(' ', '+', ',', ';'), array('%20', '%20', urlencode(','), urlencode(':')), $canonical);
    // Build the sign
    $string_to_sign             = "GET\n{$urlparts['host']}\n{$urlparts['path']}\n$canonical";
    // Calculate our actual signature and base64 encode it
    $signature            = base64_encode(hash_hmac('sha256', $string_to_sign, $secret_key, true));
    // Finally re-build the URL with the proper string and include the Signature
    $url = "{$urlparts['scheme']}://{$urlparts['host']}{$urlparts['path']}?$canonical&Signature=".rawurlencode($signature);
    return $url;
}

    $amazon_request=signAmazonUrl('http://webservices.amazon.com/onca/xml?Service=AWSECommerceService&Operation=ItemLookup&ResponseGroup=Large&SearchIndex=All&IdType=ISBN&ItemId='.$q.'&AWSAccessKeyId='.$params["AWSAccessKeyId"].'&AssociateTag='.$params["AssociateTag"].'&Timestamp='.$params["Timestamp"], $private_key);
echo "$amazon_request";

L'URL che viene generato però pare non andare bene ad AWS, in quanto mi viene restituito il seguente errore, quando in realtà sto eseguendo una sola richiesta:
Codice:
<Error>
<Code>RequestThrottled</Code>
<Message>
AWS Access Key ID: *LAMIAKEY*. You are submitting requests too quickly. Please retry your requests at a slower rate.
</Message>
</Error>

Sapreste aiutarmi a risolvere il problema?

Grazie Mille
 

marino51

Utente Attivo
28 Feb 2013
3.205
207
63
Lombardia
  • 28 Dic 2019
  • #2
il codice che hai postato genera la seguente url, con caratteri "_" (5f) che precedono "?" e "&"
non mi sembra corrispondere a quanto richiesto da amazon
Codice:
http://webservices.amazon.com/onca/xml__?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE__&AssociateTag=REFTAG__&IdType=ISBN__&ItemId=CODICE_ISBN__& ......
 
Devi accedere o registrarti per poter rispondere.

Discussioni simili

F
Info aws ed ec2 per creazione sito vendita orodotti digitali
  • Fran8
  • 8 Mag 2018
  • Server Dedicati e VPS
Risposte
0
Visite
2K
Server Dedicati e VPS 8 Mag 2018
Fran8
F
A
Problema ASUS p8p67 + Gskill Ripjaws Ram ddr3 dual channel
  • ambrogio
  • 10 Ago 2011
  • Hardware
Risposte
0
Visite
2K
Hardware 10 Ago 2011
ambrogio
A
H
Need Help with PHP Database Connection Issues
  • hellmmithha
  • 19 Dic 2024
  • PHP
Risposte
1
Visite
664
PHP 21 Mar 2025
therope
T
F
Cerco Hosting con VECCHIE versioni di php
  • frk
  • 4 Mar 2024
  • Hosting
Risposte
0
Visite
2K
Hosting 4 Mar 2024
frk
F
Captcha php
  • Cosina
  • 21 Gen 2024
  • PHP
Risposte
1
Visite
2K
PHP 22 Gen 2024
WmbertSea
S
passare un valore da un form a un file .php con metodo post
  • smack2005
  • 15 Nov 2023
  • PHP
Risposte
4
Visite
1K
PHP 23 Nov 2023
zorro
N
php msyql
  • nik13
  • 10 Ott 2023
  • PHP
Risposte
6
Visite
2K
PHP 23 Ott 2023
zorro
N
php problemi a visualizzare video
  • nik13
  • 8 Ott 2023
  • PHP
Risposte
3
Visite
2K
PHP 11 Ott 2023
WmbertSea
A
menu a tendina php
  • Annama74
  • 30 Apr 2023
  • PHP
Risposte
1
Visite
2K
PHP 1 Mag 2023
marino51
D
  • Bloccata
protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito
  • dastur67
  • 5 Apr 2023
  • Web Server
Risposte
1
Visite
3K
Web Server 5 Apr 2023
dastur67
D
F
Php date_diff
  • Fra_23
  • 30 Mar 2023
  • PHP
Risposte
1
Visite
1K
PHP 31 Mar 2023
marino51
K
[PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa
  • Kiko74b
  • 16 Mar 2023
  • PHP
Risposte
2
Visite
2K
PHP 18 Mar 2023
Kiko74b
K
C
Wp-admin a file php
  • Cpu03
  • 25 Gen 2023
  • WordPress
Risposte
5
Visite
4K
WordPress 6 Mar 2023
Cpu03
C
[Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress
  • Lino80
  • 9 Gen 2023
  • Offerte e Richieste di Lavoro e/o Collaborazione
Risposte
0
Visite
3K
Offerte e Richieste di Lavoro e/o Collaborazione 9 Gen 2023
Lino80
Inviare file jpg in locale alla stampante con php
  • csi
  • 14 Dic 2022
  • PHP
Risposte
0
Visite
919
PHP 14 Dic 2022
csi
M
Passaggio variabili array php su un tasto jq
  • maubox8
  • 9 Dic 2022
  • PHP
Risposte
3
Visite
1K
PHP 10 Dic 2022
maubox8
M
E
Php aggiornamento tabella
  • Emanuele85
  • 1 Dic 2022
  • PHP
Risposte
9
Visite
2K
PHP 2 Dic 2022
WmbertSea
G
phpmailer e php 8.1 con estensione mysqli
  • giacomo9783
  • 24 Nov 2022
  • PHP
Risposte
6
Visite
2K
PHP 5 Dic 2022
giacomo9783
G
M
Invio dati database via email php
  • Maelstrom
  • 23 Nov 2022
  • PHP
Risposte
0
Visite
1K
PHP 23 Nov 2022
Maelstrom
M
K
[php] Problema con inner join
  • Kiko74b
  • 22 Nov 2022
  • PHP
Risposte
4
Visite
2K
PHP 23 Nov 2022
Kiko74b
K
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?