API des produits Amazon - Recherche d'une présentation et d'informations de base

125

Après avoir utilisé l'API ebay récemment, je m'attendais à ce qu'il soit aussi simple de demander des informations à Amazon, mais cela ne semble pas ...

Il ne semble pas y avoir de bonne page Web qui explique les bases. Pour commencer, comment s'appelle le service? L'ancien nom a été abandonné, je pense, et l'acronyme AWS est utilisé partout (mais n'est-ce pas un terme générique qui inclut leur cloud computing et 20 autres services également?).

Il y a un manque d'informations claires sur le nouveau processus de «signature». En rassemblant des extraits de détails de diverses pages sur lesquelles je suis tombé par hasard, il semble qu'avant août 2009, vous aviez juste besoin d'un compte développeur avec Amazon pour faire des demandes et récupérer du XML. Vous devez maintenant utiliser un processus de cryptage sophistiqué pour créer un numéro supplémentaire dans votre chaîne de requête. Cela signifie-t-il que les données Amazon sont complètement hors de portée pour le programmeur qui veut juste une solution simple et rapide?

Il semble y avoir un tout petit peu d'informations sur les flux RSS, et vous pouvez obtenir un flux d'éléments qui ont été «tagués» facilement, mais je ne peux pas dire s'il existe un moyen de rechercher des titres en utilisant également RSS. Certains sites Web semblent suggérer cela, mais je pense qu'ils sont obsolètes maintenant?

Si quelqu'un peut donner un bref résumé de l'état actuel des choses, je vous en serais très reconnaissant. Tout ce que je veux faire, c'est partir d'un titre de livre dans ma base de données et utiliser Classic ASP pour obtenir un ensemble de produits qui correspondent à Amazon, en répertoriant les images de couverture et les prix.

Les `` widgets '' d'Amazon peuvent afficher les résultats de la recherche par mot-clé sur mes pages, mais j'ai moins de contrôle sur ceux-ci et ils ne sont affichés qu'à l'utilisateur - mon code ne peut pas les regarder.

Magnus Smith
la source
1
J'ai passé trop de temps à jouer avec l'API Amazon Product, de nombreuses API et PHP. Tout mon code est disponible ici.
Muskie
J'ai mis du code PHP dans GitHub qui récupère et montre comment récupérer diverses informations de l'API Amazon Product, comme les gens l'ont remarqué aujourd'hui. Le code PHP original a été écrit par Ulrich Mierendorff puis modifié par Sameer Borate puis étendu par moi. L'explication de Sameer est ici: codediesel.com/php/…
Muskie
Si vous souhaitez que je poste un même code mws pa, je peux le faire quand je rentre à la maison.
McStuffins

Réponses:

123

Votre message contient plusieurs questions, je vais donc essayer d'y répondre une à la fois:

  1. L'API qui vous intéresse est l' API Product Advertising (PA). Il vous permet un accès par programme pour rechercher et récupérer des informations sur les produits à partir du catalogue d'Amazon. Si vous rencontrez des difficultés pour trouver des informations sur l'API, c'est parce que le service Web a subi deux changements de nom dans son histoire récente: il était également connu sous le nom d'ECS et d'AAWS.
  2. Le processus de signature auquel vous faites référence est la même signature HMAC que tous les autres services AWS utilisent pour l'authentification. Tout ce qui est nécessaire pour signer vos demandes auprès de l'API Product Advertising est une fonction permettant de calculer un hachage SHA-1 et une clé de développeur AWS. Pour plus d'informations, consultez la section de la documentation destinée aux développeurs sur les demandes de signature .
  3. Pour autant que je sache, il n'y a pas de support pour récupérer les flux RSS des produits ou des balises via PA. Si quelqu'un a des informations suggérant le contraire, veuillez me corriger.
  4. Les API REST ou SOAP devraient rendre votre cas d'utilisation très simple. Amazon fournit un guide de démarrage assez basique disponible ici . Vous pouvez également consulter la documentation complète du développeur d'API ici .

Bien que la documentation soit un peu difficile à trouver (probablement en raison de tous les changements de nom), l'API PA est très bien documentée et plutôt élégante. Avec un minimum d'huile de coude et une certaine expérience dans l'appel à des services Web, vous ne devriez pas avoir de difficulté à obtenir les informations dont vous avez besoin de l'API.

Mat
la source
27
Il convient de mentionner que l'API PA est désormais obsolète et que le service Web Amazon Marketplace (MWS) doit désormais être utilisé: developer.amazonservices.com/index.html
Dan Gravell
5
Lien mort pour le guide de démarrage référencé au n ° 4 ci-dessus.
jerhewet
9
@Dan: c'est incorrect, ce sont des API différentes.
abatishchev
1
Je suppose que vous avez raison, car l'API existe toujours! Je me demande pourquoi j'ai pensé cela ... Je suis sûr que j'ai reçu un e-mail disant cela. Ou peut-être qu'il n'était obsolète que pour certains usages.
Dan Gravell
Quelqu'un a-t-il une idée pour obtenir toutes les informations sur les produits pour un magasin particulier uniquement?
SarveshwarPM
29

Je conviens qu'Amazon semble dissimuler intentionnellement la manière de trouver la documentation de l'API et de l'utiliser. Je spécule juste cependant.

Renommer les services de «ECS» en « API de publicité produit » n'était probablement pas non plus la meilleure décision, cela annulait essentiellement tout ce mojo de Google qu'ils avaient construit au fil du temps.

Il m'a fallu un certain temps pour «découvrir» ce lien mis à jour pour l' API de publicité produit . Je ne me souviens pas avoir pu le découvrir facilement via le lien typique `` Développeur '' sur la page Web d'Amazon. Cette documentation semble valide et ce sur quoi j'ai travaillé récemment.

Le changement des procédures d'authentification semble également ajouter une complexité supplémentaire, mais je suis sûr qu'ils ont une raison à cela.

J'utilise SOAP via C # pour communiquer avec l'API produit d'Amazon.

Avec l'API REST, vous devez crypter toute l'URL d'une manière assez spécifique. Les paramètres doivent être triés, etc. Il reste encore beaucoup à faire. Avec l'API SOAP, vous cryptez simplement l'opération + l'horodatage, et c'est tout.

Le message d'Adam O'Neil ici, Comment obtenir des pochettes d'album, de DVD et de blueray d'Amazon , décrit la méthode SOAP avec C #. Ce n'est pas l'exemple original que j'ai retiré, et contrairement à son commentaire, ce n'était pas un échantillon officiel d'Amazon sur lequel je suis tombé par hasard, bien que le code semble identique. Cependant, Adam fait un bon travail en présentant toutes les étapes nécessaires. J'aimerais pouvoir créditer l'auteur original.

Zach Bonham
la source
1
Cela m'indique que j'ai besoin d'une application ou d'un site Web pour m'inscrire, mais je souhaite m'inscrire afin de pouvoir accéder à l'API et créer l'application. Est-ce que je rate quelque chose ici?!
K ..
13

J'ai écrit un article de blog sur ce sujet , après avoir passé des heures à parcourir la documentation obscure d'Amazon. Peut-être utile comme autre point de vue sur le processus.

Skilldrick
la source
5

J'ai trouvé une bonne alternative pour demander des informations sur les produits Amazon ici: http://api-doc.axesso.de/

C'est une API de repos gratuite qui renvoie toutes les informations pertinentes relatives au produit demandé.

JerryParker
la source
3

Directement du moutyh du cheval: Résumé des opérations de l'API de publicité produit qui comprend les catégories suivantes:

  • Rechercher des éléments
  • En savoir plus sur les articles spécifiques
  • Panier
  • Contenu client
  • Information du vendeur
  • Autres opérations
elhoim
la source