faqts : Computers : Programming : Languages : PHP : Sample Code : php jacks

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

13 of 13 people (100%) answered Yes
Recently 10 of 10 people (100%) answered Yes

Entry

fetches information from Amazon using WebServices and display it on my site as I want it?

Jul 19th, 2002 13:04
Calin Uioreanu,


Now everybody heard of Amazon.com. What not everybody knows that Amazon 
released an API to access its huge catalogs. What this basically means 
is that each developer can access the information from Amazon following 
some simple protocols and every site owner can enhance his own website 
with content and features from Amazon.
The Amazon API comes as a simple Webservice. Here are the first Web 
services that they have exposed:
- Product Display : The ability to search for and retrieve product 
information from the Amazon.com catalog.
- Shopping Cart : The ability to add Amazon.com products to shopping 
carts, wish lists, and registries from third party locations.
No matter of your intentions, you will first need to register and 
obtain a valid developer token. You can get your token here at this 
address: http://www.amazon.com/webservices
The current listed implementation of Amazon webservices uses Keyword 
searches. It has basically the same results as searching the books 
catalog online. As any developer/webmaster can see in the "Amazon.com 
Web Services Developers Kit v 1.0" document, a lot of other Amazon 
features are exposed. This would imply extending the base structure I 
present here.
There are multiple approaches from a developer's point of view. The 
simplest one deals with SOAP and web services classes already 
implemented in PHP. You could also extend the PEAR's XMLParser object 
to parse Amazon results. The reason I did not choose these directions 
is because they require additional extensions installed with PHP. What 
I currently use is the XML parsing package that comes embedded in PHP, 
so it is slightly more general.
What basically happens in this implementation is that the search word 
entered by the used is embedded into a XML url that is then retrieved 
from Amazon.com. Then PHP builds a nice display for the information 
received.
I should let the code talk for itself. Here is the main controller, 
with a small search form for Amazon:
http://www.php9.com/php/source/amazon.phps
As you see, the actual code is very small. Then here is the class used 
in the controller to parse the XML returned by Amazon. 
http://www.php9.com/php/source/amazon_class.phps
Then the configuration file. I need to remember you that you need to 
change the DEVELOPER_TOKEN constant with the one you will obtain from 
Amazon. The current license key belongs to me.
http://www.php9.com/php/source/amazon_config.phps
And here is the layout template used to build the output from the XML 
document retrieved from Amazon. It is parsed every time a book record 
is retrieved, so the output rendering is the fastest possible.
http://www.php9.com/php/source/amazon_layout.phps
Here you have the full package zipped.
http://www.php9.com/php/source/amazon.zip
And of course a demo: http://www.php9.com/amazon.php
Feel free to use it and improve. I am open to suggestions.