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
|