使用带有php的Amazon Product API中的itemlookup

时间:2012-11-01 06:39:17

标签: php javascript amazon-product-api dom

我想要的就是在同一页面上返回的内容:

  

节省8.91%

     

零售价:$ 599.00

     

价格:$ 549.99

     

总节省:49.01美元

因为我不太了解PHP,所以我很难按照文档进行操作。我试图弄清楚签名过程,我被困了几个小时。我想我理解它,它是用于验证身份的安全功能。并且它存储为SHA-1哈希,因此您需要某种功能来理解它。当然,在我的情况下,说起来容易做起来难。

但也许我尝试做的事情要比文档中的示例简单得多,因为他们使用涉及表单输入的ItemSearch操作。这似乎更直接。

我会尝试解释这个过程,如果我的理解是错误的,请纠正我。因此运行了一个php脚本,它向亚马逊产品API请求某些细节,它会对您进行身份验证并在某种变量中返回您想要的数据,然后将该变量解析为XML?然后使用javascript解析该XML并将其放入HTML DOM中,它将显示在同一页面上。

这是近似的吗?没有?

那我怎么把它真正翻译成代码?

资源我一直在阅读: http://www.kennylucius.com/a/AAWS_signed_URL_function

docs.amazonwebservices.com/AWSECommerceService/latest/DG/RequestAuthenticationArticle.html

docs.amazonwebservices.com/AWSECommerceService/2011-08-01/GSG/ImplementinganA2SRequest.html

好的,所以通过签名的URL发出请求很简单......而且它返回了我正在寻找的东西,我可以用样式,非常棒。但是我如何在PHP中做到这一点?我找到了一个更有用的资源,可以快速浏览API库。

codediesel.com/php/accessing-amazon-product-advertising-api-in-php /

从那篇文章和文档中我认为这就是一般过程:

  

1)创建一个带有请求的对象

     

2)在您的请求中添加您喜欢的不同参数

     

3)在验证您的请求时发送请求

1 个答案:

答案 0 :(得分:1)

我写了或者至少改进了一堆代码来访问Amazon Product API。最新版本在GitHub中,它是my web mashup codebase的一部分。

它有以下方法:

  • 公共函数getItemByUpc($ upc_code,$ product_type)
  • 公共函数getItemByAsin($ asin_code)
  • public function getItemAttributesByAsin($ asin_code)
  • 公共函数getRelatedItemsByAsin($ asin_code)
  • 公共函数getRelatedTracksToAsin($ asin_code)
  • 公共函数getItemByKeyword($ keyword,$ product_type)
  • 公共函数getMP3sForAlbumByArtist($ albumTitle,$ artist)
  • 公共功能getMP3ForSongByArtist($ songTitle,$ artist)
  • 公共函数getBookForKeyword($ keyword)
  • 公共功能getAlbumCoverByArtistAndTitle($ artist,$ title)
  • 公共功能getInfoForSongwriter($ artist)
  • 公共函数getDVDCoverByTitle($ title)
  • 公共职能getDVDCoverByTitleAndDirector($ title,$ director)

基于这些示例以及执行繁重工作的各种辅助方法,您应该能够获得Amazon现在从Amazon Product API获得的大部分内容。他们没有给你一切,MP3预览的直接链接似乎不再起作用(可能)。文档可能不是最好的,您需要了解响应组和类别以及ItemSearch和ItemLookUp之间的区别,有时您必须进行多次查询才能获得所有信息。我已经编写了很多代码来访问Amazon Product API,检查它是基于Sameer的代码,我认为他在我的一些更改/修复/添加但不是全部。不同的人试图从API中获取不同的信息......