Jag har några erfarenheter med Amazon Web Service när jag skapade min Anime Reviews webbplats. Det är ganska snyggt att du kan skriva en fråga för att söka upp mycket detaljerad produktinformation. Nyligen tänker jag köpa en Garmin StreetPilot i3 från Amazon.
Ordinarie pris är ca $ 308,00, men jag hörde att det ibland Amazon skulle sänka priset så lågt som $ 199,00. Däremot är det låga priset endast för en kort tid. Jag vill inte sitta framför datorn och manuellt kolla priset själv. Skulle det inte vara trevligt om jag kan få ett skript för att kontrollera priset automatiskt? Det vore trevligare om jag skriver skript med PowerShell!
Ok, nog rambling. Let's get started. Använda Amazon Web Service, det första man måste göra är att skapa ett konto och få din egen Access Key ID. Du kan skapa ett gratis konto här.
Efter att kontot har skapats, kan du logga in på webbplatsen med ditt nya konto. Flytta muspekaren ovanpå knappen som säger "Your Web Services konto". En rullgardinsmenyn skulle visas, klicka på "Visa Access nyckelidentifierare". Det finns två nycklar, en heter "Access Key ID", är den andra heter "Secret Access Key". Anteckna i Access Key ID, är nyckeln som du använde för webbtjänsten. Nästa steg är att skicka Secret Access Key till mig.
Ok, bara skojar. Du bör inte dela Secret Access Key med någon, det är bara används för att skapa signaturen. Du bör hålla det konfidentiellt och inte avslöja det för någon.
Amazon Web Service finns flera sätt att hitta produktinformation. ItemSearch används för att söka produkter med hjälp av nyckelord. Eftersom vi vet redan den produkt som vi är intresserade av, kan vi bara använda ItemLookup. Att använda ItemLookup behöver du två uppgifter, AWSAccessKeyId och ItemId. Du redan har Access Key ID, allt du behöver veta är ItemId för produkten. Varje produkt som erbjuds på Amazon har ett unikt ID. Om du tittar på en produkt sida, det kallas ASIN. Du använder ASIN som ItemId för frågan. För böcker frågan använder ISBN som ItemId i frågan. Detta är frågesträngen för att leta upp information om Garmin i3.
$ url = "http://webservices.amazon.com/onca/xml?Service=AWSECommerceService" $ url + = "& AWSAccessKeyId = Your_AccessKeyID_Here" $ url + = "& Operation = ItemLookup" $ url + = "& Itemid = B000ACHVVE" $ url + = "& ResponseGroup = erbjudanden"
Observera att detta är för Nordamerika www.amazon.com. Om du vill fråga produktinformationen för andra Amazon webbplatser. Du måste ändra den första raden i enlighet därmed. Du kan kolla här för information om hur du redigerar frågesträngen. En annan sak att notera är att om du inte anger ResponseGroup i sökningen är standard svaret "Begäran" och "små" som inte har prisuppgifter. För att få aktuell kurs, använder vi "erbjudanden" som svar grupp. Slutligen använder vi. Nets Net.WebClient klass för att få svar från Amazon Web Service. Svaret från servern är en xml-sträng. Vi kan kasta den till XMLDocument för enkel åtkomst. Det belopp som återvände från frågan är i dollar, så dividera det med 100 för att få dollarn belopp.
$ rxml = [xml] (ny-objekt Net.WebClient). DownloadString ( "$ url") $ pris = $ rxml.ItemLookupResponse.Items.Item.Offers.Offer.OfferListing.Price.Amount $ pris = $ price/100 echo $ pris
Du kan fråga hur kom du upp med anbudspris? Du kan kontrollera dokumentationen i Amazon Web Service webbplats, eller så kan du spara svaret i en XML-fil och använda dina XML-editor / läsaren att granska svaret. Firefox är bara bra för att tolka XML-filen.
$ sxml = (ny-objekt Net.WebClient). DownloadString ( "$ url") echo $ sxml> "C: \ \ response.xml"
Jag har testat skriptet under Vista Beta 2 och det fungerar bra.





















