2009-10-20 8 views
93

Après avoir utilisé l'API ebay récemment, je me attendais qu'il soit aussi simple à une demande d'informations d'Amazon, mais il ne semble pas ...API produits Amazon - Recherche aperçu de base et des informations

Il ne semble pas être une 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 utilisé partout (mais n'est-ce pas un terme générique qui inclut leur cloud computing et 20 autres services aussi?).

Il manque des informations claires sur le nouveau processus de "signature". En rassemblant des extraits de différentes pages sur lesquelles j'ai trébuché, il semble qu'avant août 2009, vous aviez juste besoin d'un compte de développeur avec Amazon pour faire des demandes et récupérer XML. Maintenant, vous devez utiliser un processus de cryptage de fantaisie pour créer un nombre 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 petit peu d'information sur les flux RSS, et vous pouvez obtenir un flux d'articles qui ont été étiquetés facilement, mais je ne peux pas dire s'il y a un moyen de rechercher des titres en utilisant RSS aussi. Certains sites semblent suggérer cela, mais je pense qu'ils sont démodés maintenant?

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

Amazon 'widgets' peut afficher les résultats de recherche par mot-clé sur mes pages, mais j'ai moins de contrôle sur ceux-ci, et ils sont montrés à l'utilisateur seulement - mon code ne peut pas regarder à l'intérieur.

+1

J'ai passé trop de temps à bidouiller avec l'API Amazon, de nombreuses API et PHP. Tout mon code est disponible [ici.] (Http://www.muschamp.ca/Muskie/webMashups.html) – Muskie

+0

Je mets du code PHP dans GitHub qui récupère et montre comment extraire diverses informations de l'API produit Amazon, en quelque sorte les gens 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: http: // www.codediesel.com/php/accessing-amazon-product-advertising-api-in-php/ – Muskie

+0

Si vous souhaitez que je poste un même code mws pa, je peux le faire quand je rentre à la maison. – McStuffins

Répondre

101

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

  1. L'API qui vous intéresse est le Product Advertising API (PA). Il vous permet d'accéder par programmation à la recherche et à la récupération des informations sur les produits à partir du catalogue Amazon. Si vous avez des difficultés à trouver des informations sur l'API, c'est parce que le service Web a subi deux changements de nom dans l'histoire récente: il était également connu sous le nom de ECS et 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 requis 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, voir la section de la documentation du développeur sur signing requests. Pour autant que je sache, il n'y a pas de support pour la récupération des flux RSS de produits ou de tags via PA. Si quelqu'un a des informations suggérant le contraire, veuillez me corriger. Les API REST ou SOAP devraient rendre votre cas d'utilisation très simple. Amazon fournit un guide de "mise en route" assez basique disponible here. Vous pouvez également consulter la documentation complète du développeur de l'API here.

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.

+0

Merci pour le lien et l'API correcte. – Songo

+19

Il est à noter que l'API PA est maintenant obsolète, et que le service Web Amazon Marketplace (MWS) devrait maintenant être utilisé: https://developer.amazonservices.com/index.html –

+5

Lien mort pour le guide "Mise en route" référencé dans # 4 ci-dessus. – jerhewet

26

Je suis d'accord que Amazon semble être intentionnellement obfuscating même comment trouver la documentation de l'API, ainsi que de l'utiliser. Je ne fais que spéculer. Renommer les services de "ECS" à "Product Advertising API" n'était probablement pas non plus le meilleur coup, il a essentiellement invalidé tout ce que Google mojo ils avaient construit au fil du temps.

Il m'a fallu un certain temps pour «découvrir» ce lien mis à jour pour le Product Advertising API. Je ne me souviens pas d'avoir pu le découvrir facilement grâce au lien typique «Développeur» sur la page Web d'Amazon. Cette documentation semble valide et ce que j'ai travaillé récemment.

La modification des procédures d'authentification semble également ajouter plus de complexité, mais je suis sûr qu'ils ont une raison à cela. J'utilise SOAP via C# pour communiquer avec Amazon Product API.

Avec l'API REST vous devez chiffrer l'URL complète d'une manière assez spécifique . Les paramètres doivent être triés, etc. Il y a juste plus à faire. Avec l'API SOAP, il vous suffit de crypter l'opération + horodatage, et c'est tout.

poste Adam O'Neil ici, How to get album, dvd, and blueray cover art from Amazon, promenades à travers la méthode SOAP avec C#. Ce n'est pas l'échantillon original que j'ai arraché, et contrairement à son commentaire, ce n'était pas un échantillon officiel d'Amazon sur lequel je suis tombé, même si le code semble identique. Cependant, Adam fait un bon travail en présentant toutes les étapes nécessaires. Je souhaite pouvoir créditer l'auteur original.

+0

Il me dit que j'ai besoin d'une application ou d'un site Web pour m'inscrire, mais je veux m'inscrire afin que je puisse accéder à l'API et construire l'application. Est-ce que quelque chose me manque? –

12

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

Questions connexes