IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

SOAP et Amazone


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 63
    Par défaut SOAP et Amazone
    Salut à tous,

    Je cherche en vain un petit script pour récupérer les info d'un livre sur amazone connaissant son ISBN. J'ai vu pas mal d'exemple, mais rien ne marche

    A la suite des exemples que j'ai pu glaner je me pose plusieurs questions :

    Faut-il s'enregistrer auprès d'Amazone pour faire une requête SOAP sur leur web service.

    J'ai vu qu'il existait une librairie NUSOAP, est-ce que cette librairie fait la même chose que l'extension php5 php_soap.dll. Est-ce que leur code sont compatible ?

    J'ai vu qu'il existait plusieurs fonction dans la classe soap

    ASINSearchRequest, BrowseNodeSearchRequest... ou sont implémenté ces fonctions dans la dll soap de php5 ?

    Plusieurs adresses URL pour le client soap de amazone semblent être en vigueur ? http://soap.amazon.com/schemas2/AmazonWebServices.wsdl, http://soap.amazon.com/schemas3/AmazonWebServices.wsdl...

    Bref je patauge un peu un script simple qui marche serait la bienvenue

    Merci beaucoup

  2. #2
    Invité de passage
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1
    Par défaut
    Bonjour

    Je suis moi-même en train d'essayer de coder un truc comme ça (je dis "essayer" et "un truc" car je ne suis absolument pas un spécialiste du php et en informatique, je suis un amateur).
    Je souhaite rechercher des livres dans les bases de données d'amazon pour constituer une liste complète des bouquins de ma bibliothèque (avec leur 4eme de couverture...).
    Pour l'instant, amazon me répond que ma requete est mal signée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
       <head>
    	<!-- cette page sert à traiter les infos de recherches de livres -->
           <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       </head>
    	<?php
     
    	  // la base de la requete
    	  $auteur = $_POST['auteur'];
    	  $niveau = "Medium"; 		//le niveau de la recherche dans Amazon...
    	  $titre  = $_POST['titre'];
    	  //$type	 = $_POST['type'];
    	  $type = "Books";
     
    	 // identifiants amazon secrets
    	  $Id_Amazon = "XXXXXXXXX";
    	  $Amazon_secret ="XXXXXXXXXXXXXX";
     
    	  // la base de l'url est le truc qu'il faudra modifier si le site change...
    	  $method = "GET";
    	  $zone = "fr";
    	  $host = "ecs.amazonaws.". $zone;
     
    	  // construction de la requete
    	  $operation = "ItemSearch";
    	  $service = "AWSECommerceService";
    	  $reponse="ItemAttributes"; 		// ce qu'on veut qu'amazon renvoie
    	  $recherche='Author='.$auteur; 	// la liste des trucs recherchés (auteur, titre...)
    	$time=time();
    	$version="2010-10-01";			// version de l'api d'amazon
     
    // ce gros bloc est l'ensemble de la requete.
    	$requete ='AWSAccessKeyId='.$Id_Amazon.'&Version='.$version.'&Operation='.$operation.'&SearchIndex='.$type.$recherche.'&ResponseGroup='.$reponse.'&Timestamp='.$time;
    	$to_sign ="$method\n".$host."\n"."/onca/xml\n".$requete;
     
    // la signature est un hash_hmac et doit etre encodée pour enlever + =...
    	$Sig = rawurlencode(base64_encode(hash_hmac('sha256', $to_sign, $Amazon_secret, true)));
    	$url = 'http://'.$host.'/onca/xml?'.$requete.'&Signature='.$Sig;
    	echo $url;
     
    	//récupération de la réponse d'Amazon
    	$contenu = file_get_contents($url);
    	$xml     = simplexml_load_string($contenu);
    	$nombre_resul = $xml->Items->TotalResults;
    	echo $nombre_resul;
    	?>
        <body>
     
        </body>
    </html>
    Et je reçois ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0"?>
    <ItemSearchErrorResponse xmlns="http://ecs.amazonaws.com/doc/2010-10-01/"><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.</Message></Error><RequestID>24448f5e-035d-4b71-b883-f914d21288e3</RequestID></ItemSearchErrorResponse>
    The Jos, quelle est l'utilité finale de ton script ? Que cherche-tu à faire ?

Discussions similaires

  1. Web Service Amazon SOAP
    Par sharkichoux dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 26/04/2011, 11h23
  2. [TOMCAT] SOAP - Problème de déploiement
    Par seawolfm dans le forum Tomcat et TomEE
    Réponses: 6
    Dernier message: 21/10/2003, 13h36
  3. Fichier SOAP
    Par alaie dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 21/05/2003, 16h05
  4. [SOAP] : client en PHP, serveur en kylix + .so
    Par RezzA dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 27/01/2003, 17h53
  5. Tomcat + Apache-SOAP
    Par lucho31 dans le forum Services Web
    Réponses: 3
    Dernier message: 17/10/2002, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo