当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

4.14Zend_Service_Amazon利用AmazonWeb服务实现畅销书的表示

9/17/2020 9:43:31 PM 人评论

4.14Zend_Service_Amazon利用AmazonWeb服务实现畅销书的表示

4.14 Zend_Service_Amazon利用Amazon Web服务实现畅销书的表示

第2章介绍过REST方式的Web API。这里再介绍一种称为“Amazon Web服务”的REST形式的API。通过“Amazon Web服务”,就好像你可以拥有Amazon.com巨大的商品数据库一样,例如,你可以通过特定的关键字检索它的书籍数据库,将最新的畅销书一览显示出来,如图所示。

alt

本例要点

第2章中已经介绍过了,REST方式的Web API将返回单纯的XML文档。不用什么特殊的程序库,只要利用如SimpleXml/XSL样的标准函数,就可以解析这些返回的XML,取得需要的结果。

但是,尽管这些标准函数能够方便地应用到XML解析中,使用者也必须理解整个API的请求/应答的式样。从某种程度上说,这恰恰是难点所在。

这时候就出现了Zend_Service_XXXX样的特定组件,在Zend Framework中,除了Zend_Service_Amazon外,还有Zend_Service_Yahoo,Zend_Service_Flickr等有名网站的服务组件。这些组件比使用标准函数更直观的利用这些网站的Web API。

本节就是以Zend_Service_Amazon为例子,来演示一下如何利用上述组件。

目录结构

alt

本例代码

alt

以嵌入帧的形式调用amazon.php,并设定检索关键字keyword,当检索关键字中含有多字节文字时,必须使用urlencode函数进行URL encode的转换。

alt

初始化Zend_Service_Amazon类,构造函数有两个参数,分别为Amazon服务的连接键、国家代码。连接键必须事先在Amazon网站取得。

alt

具体的商品检索是itemSearch方法实现的,itemSearch方法的参数里,以联想数组的形式指定必需的参数。具体需要指定的参数有SearchIndex(检索对象数据库)、Keywords(关键字)、ResponseGroup(数据种类)。这里将SearchIndex参数指定为Books,也就是说将对本地书籍数据库进行检索,其他的检索对象数据库有ForeignBooks(外文书籍)、Music(音乐)、VideoGames(游戏)、Electronics(电子制品)等。ResponseGroup参数可以指定Small/Medium/Large,Small是指返回最小范围的信息,Large是指返回最大范围的信息。具体返回内容,可以使用print_r函数来确认Zend_Service_Amazon_Item对象的内容。

alt

itemSearch方法返回Zend_Service_Amazon_ResultSet对象,14行到29行顺序取出Zend_Service_Amazon_ResultSet对象中的商品信息,并以商品一览的形式显示。

alt

变量$cnt保存返回的商品数量,超过5件,退出循环(最多输出5件)。

alt

补充

运行实例时的注意事项

本节使用的Zend_Service_Amazon是Zend Framework的组件(component)之一,在运行本节的代码时,首先要检查一下Zend Framework是否可以使用。

如果严格按照本书第1章介绍的方法配置环境的话,Zend Framework已经可以使用了。

连接键的取得

利用Amazon Web的服务时,需要事先取得识别应用程序的关键字(key),取得是免费的,网页界面如图4-6所示。

alt

图4-6 取得连接键的网页

alt

要取得连接键,先进入上面的网页,选择页面右边的“Your Web Services Account”→“AWS Account Activity”。

已经拥有Amazon账号的用户,可以从下一页登录。第一次使用Amozon服务的用户,选择“No,I Am a New Customer”进行用户注册。

将显示账号生成画面,输入必要的如用户名、住址等信息后,账号注册好。注册好之后会返回上述开始的画面,请选择“Your Web Services Account”→“AWS Access Identifiers”。

Access Key ID and Secret Access Key

以注册好的账号登录后,显示如图4-7所示的画面。画面中“Your Access Key ID”的项目中,就是建成的连接键。

alt

图4-7 建成连接键

Zend_Service_Amazon_Item对象的属性

Zend_Service_Amazon_Item是管理个别商品信息的对象。公开了如表4-11所示的属性。

表4-11 Zend_Service_Amazon_Item对象的属性

alt

相关教程

共有条评论 网友评论

验证码: 看不清楚?