TUTORIELS 
Introduction à l'API Amazon avec PHP

Page 1 | 2

Aborder en douceur l'API Amazon via PHP à l'aide d'une bibliothèque de fonctions complète. Ou comment accéder sous forme de service Web au catalogue du marchand.
 (2 décembre 2002)
 

Dans la lancée de Google (voir notre article "Introduction à l'API google avec PHP"), le marchand Amazon a lancé cette année son service Web, sous la forme d'une API SOAP utilisable par tout développeur désireux de se lancer dans l'aventure de la "syndication de contenu commercial".
Le SDK de l'API Amazon se présente sous la forme de deux fichiers PHP faisant appel à à la bibliothèque externe NuSOAP pour tous ses appels SOAP. Le SDK n'étant pas des plus clairs, de nombreux développeurs indépendants ont choisi de créer leur propres fonctions et classes pour faciliter le travail de leurs condisciples. Pour cet article, nous ferons appel au fonctions développées par Daniel Filzhut, amazon_functions, librement utilisables en-dessous de 50$ de gains par trimestre.

Présentation
Cette bibliothèque de fonctions donne beaucoup de liberté dans la manière de gérer l'application: depuis le simple affichage d'une liste de titres jusqu'à un site beaucoup plus complet, avec gestion du panier d'achats Amazon. Nous verrons dans cet article quelques solutions... C'est une excellente bibliothèque pour commencer à se familiariser avec l'API Amazon.
Mais attention, pour pouvoir utiliser celle-ci, il est nécessaire d'avoir modifié le fichier amazon_functions.php en y ajoutant son code développeurs gratuit (et son numéro Associates si l'on souhaite tirer des bénéfices des transactions).

Premier exemple
Nous allons commencer par un exemple de base: afficher les références correspondant à un artiste donné. Pour ce faire, nous utiliserons la fonctions amazon_search_artist de notre bibliothèque.

(fichier exemple1.php)
<html>
<body>
<form method="post" action="<?=$PHP_SELF ?>">
Entrez le nom de l'artiste ou du groupe:<br>
<input type="text" name="recherche">
<input type="submit" name="Submit" value="Envoyer">
</form>

<?php if (isset($recherche) && $recherche!="")
  {
  include('amazon_functions.php');
  $reponse = amazon_search_artist($recherche, "music");
?>
<hr>
Résultats correspondant à la recherche "<?=$recherche;?>".
<?php
  while( list($cle,$valeur) = each($reponse[Details] ))
    {
?>

<p>Titre: "<?=$valeur[ProductName][0];?>"<br>
Artiste: <?=$valeur[Artists][0][Artist][0];?><br>
Année de sortie: <?=$valeur[ReleaseDate][0];?> <br>
Prix normal: <?=$valeur[ListPrice][0];?><br>
Prix Amazon: <?=$valeur[OurPrice][0];?><br>
<img src="<?=$valeur[ImageUrlSmall][0];?>"> </p>

<?
    }
  }
?>

</body>
</html>

Il est immédiatement possible de voir les capacités de ces fonctions. Néanmoins, une explication technique s'impose.
Le principal interêt de ces fonctions est de récupérer les résultats de recherche envoyés par Amazon sous la forme d'un fichier XML et de les convertir en un tableau, ce qui simplifie grandement la manipulation des données trouvées. Il suffit ensuite pour s'en servir de savoir manipuler les tableaux, et de connaître les noms de clés renvoyées par Amazon. Les voici pour la version Lite des réponses (c'est à dire, sans les commentaires).

Asin
ProductName
Authors
  Author
Artists
  Artist
Manufacturer
ReleaseDate
OurPrice
ListPrice
UsedPrice
ImageUrlLarge
ImageUrlMedium
ImageUrlSmall

Ainsi, si notre exemple ne peut servir qu'à des recherches dans les noms d'artistes de la base "popular music", il suffit d'utiliser une autre fonction fournie (amazon_search_author, amazon_search_actor ou autre... La documentation explique clairement la syntaxe à utiliser...

Nous allons maintenant nous pencher sur un exemple un peu plus poussé, à partir de ce que l'on vient d'apprendre.

Page 1 | 2

 
[ Xavier Borderie,JDNet
 
Accueil | Haut de page