% Option explicit Dim i, reqISBN fm_HeadLayout("Amazon::API") reqISBN = Trim(Request.Querystring("ISBN")) If reqISBN="" Then %>
<% Else '// Return Variables Dim refISBN, refName, refDate, refPublisher, refImage, refListPrice, refOurprice, refUsedPrice, refSalesrank, refDescription, refAvgRating '// Arrays Dim refCategories(), refAuthors() '// Make Request getAmazon reqISBN,"","","","","","","","", refCategories, refAuthors End If fm_FooterLayout '// Get book information from Amazon by Heavy XML Function getAmazon(byVal ISBN, byRef refISBN, byRef refName, byRef refDate, byRef refPublisher, byRef refImage, byRef refSalesRank, byRef refDesciption, byRef refAvgRating, byRef refCategories, byRef refAuthors) '// Amazon Associates ID Const amazonID = "YOURUSERNAME" '// Amazon Developer Token Const devToken = "YOUR AMAZON DEV TOKEN" '// Amazon XML Server Const amazonServer = "http://xml.amazon.com/onca/xml3?" '// Amazon XML Consts Const XMLProductName = "ProductName" Const XMLCatalog = "Catalog" Const XMLAuthors = "Authors" Const XMLReleaseDate = "ReleaseDate" Const XMLManufacturer = "Manufacturer" Const XMLImage = "ImageUrlMedium" 'ImageUrlSmall 'ImageUrlMedium 'ImageUrlLarge Const XMLListPrice = "ListPrice" Const XMLOurPrice = "OurPrice" Const XMLUsedPrice = "UsedPrice" Const XMLThirdPartyPrice = "ThirdPartyNewPrice" Const XMLSalesRank = "SalesRank" Const XMLBrowseList = "BrowseList" Const XMLMedia = "Media" Const XMLNumedia = "NumMedia" Const XMLISBN = "Isbn" Const XMLAvailability = "Availability" Const XMLProductDescription = "ProductDescription" Const XMLReviews = "Reviews" Const XMLAvgCustomerRating = "AvgCustomerRating" Const XMLSimiliarProducts = "SimilarProducts" '// Base URL Dim URL, method, XMLtype, result method ="GET" XMLtype = "heavy" URL = amazonServer & "t=" & amazonID & "&dev-t=" & devToken & "&" '// Request Paramaters Dim arrParams arrParams = Array ("page","1","f","xml","mode","books","type",XMLtype) '// Add ISBN fm_AddNew2Arr arrParams, "AsinSearch" fm_AddNew2Arr arrParams, ISBN '// Build Final URL For i=0 To Ubound(arrParams) Step 2 URL = URL & "&" & arrParams(i) & "=" & arrParams(i+1) Next '// amazonResult result = makeRequest(URL,method) '// XML Object Dim objXML, objLst Dim objXMLnodes, objXMLroot Set objXML = CreateObject("Microsoft.XMLDOM") objXML.async = false '// Load Returned String as XML objXML.LoadXML result '// Set real node as root Set objXMLroot = objXML.selectSingleNode("ProductInfo").selectSingleNode("Details") '// Set Returns ! refISBN = objXMLroot.selectSingleNode(XMLISBN).Text refName = objXMLroot.selectSingleNode(XMLProductName).Text refDate = objXMLroot.selectSingleNode(XMLReleaseDate).Text refPublisher = objXMLroot.selectSingleNode(XMLManufacturer).Text refImage = objXMLroot.selectSingleNode(XMLImage).Text refDescription = objXMLroot.selectSingleNode(XMLProductDescription).Text refSalesRank = objXMLroot.selectSingleNode(XMLSalesRank).Text ' refAvgRating = objXMLroot.selectSingleNode(XMLImage).selectSingleNode(XMLAvgCustomerRating).Text '// Categories ! ' Set objXMLnodes = objXMLroot.childNodes.Item(i) ' fm_AddNew2Arr refCategories, For i=0 To objXMLroot.childNodes.Length - 1 ' Set objXMLnodes = objXMLroot.childNodes.Item(i) ' Response.Write objXMLnodes.nodeName & "" & fm_Encode(result) & "" End Function Function fm_HeadLayout(byVal title) footTimer = Timer ' "ol{margin:4px 4px 20px 4px}" &_ Response.Write ""&_ "" &_ "" &_ "" &_ "" &_ "