2011-01-21 5 views
5

क्या किसी को भी किसी भी अच्छे उदाहरण के बारे में पता है, या इस तरह के अमेज़ॅन लुकअप को कैसे समझाया जाए, http://blogs.msdn.com/b/coding4fun/archive/2006/10/31/912260.aspx, मैं इसका उपयोग करूँगा, लेकिन ऐसा लगता है कि यह पुराना है और स्रोत है अब उपलब्ध नहीं है। आदर्श मैं जो करने में सक्षम होना चाहता हूं वह "स्टार ट्रेक" या सीधे यूपीसी जैसे कीवर्ड पर आइटम देख रहा है। मैं वापस प्राप्त करना चाहता हूं शीर्षक, वर्णन, वर्ष, और एक छवि के लिए एक लिंक है, प्रकार (डीवीडी, किताबें, संगीत)। कोई भी सहायता मददगार होगी, धन्यवाद।एएसपी.नेट अमेज़ॅन आइटमशर्च

उत्तर

1

नेट के लिए SprightlySoft एडब्ल्यूएस घटक आप बातचीत करने के लिए होगा अमेज़न के उत्पाद विज्ञापन एपीआई अनुमति देता है। यूपीसी के आधार पर एक आइटम देखने के लिए नमूना कोड यहां दिया गया है। घटक को http://sprightlysoft.com/ पर मुफ्त में प्राप्त करें। घटक नमूना कोड के साथ आता है जो आपको दिखाता है कि उत्पाद विज्ञापन API के साथ आइटमशर्च कैसे करें।

//Product Advertising API, ItemLookup: http://docs.amazonwebservices.com/AWSECommerceService/2010-10-01/DG/ItemLookup.html 

SprightlySoftAWS.REST MyREST = new SprightlySoftAWS.REST(); 

String RequestURL; 
RequestURL = "https://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&Operation=ItemLookup&Version=2010-10-01"; 
RequestURL += "&AWSAccessKeyId=" + System.Uri.EscapeDataString(TextBoxAWSAccessKeyId.Text) + "&SignatureVersion=2&SignatureMethod=HmacSHA256&Timestamp=" + Uri.EscapeDataString(DateTime.UtcNow.ToString("yyyy-MM-dd\\THH:mm:ss.fff\\Z")); 
RequestURL += "&ItemId=025192022272"; 
RequestURL += "&IdType=UPC"; 
RequestURL += "&SearchIndex=DVD"; 

String RequestMethod; 
RequestMethod = "GET"; 

String SignatureValue; 
SignatureValue = MyREST.GetSignatureVersion2Value(RequestURL, RequestMethod, "", TextBoxAWSSecretAccessKey.Text); 

RequestURL += "&Signature=" + System.Uri.EscapeDataString(SignatureValue); 

Boolean RetBool; 
RetBool = MyREST.MakeRequest(RequestURL, RequestMethod, null); 
System.Diagnostics.Debug.Print(MyREST.LogData); 

if (RetBool == true) 
{ 
    String ResponseMessage = ""; 
    System.Xml.XmlDocument MyXmlDocument; 
    System.Xml.XmlNamespaceManager MyXmlNamespaceManager; 
    System.Xml.XmlNode MyXmlNode; 
    System.Xml.XmlNodeList MyXmlNodeList; 

    MyXmlDocument = new System.Xml.XmlDocument(); 
    MyXmlDocument.LoadXml(MyREST.ResponseString); 

    MyXmlNamespaceManager = new System.Xml.XmlNamespaceManager(MyXmlDocument.NameTable); 
    MyXmlNamespaceManager.AddNamespace("amz", "http://webservices.amazon.com/AWSECommerceService/2010-10-01"); 

    MyXmlNodeList = MyXmlDocument.SelectNodes("amz:ItemLookupResponse/amz:Items/amz:Item", MyXmlNamespaceManager); 

    if (MyXmlNodeList.Count == 0) 
    { 
     ResponseMessage = "Item not found."; 
    } 
    else 
    { 
     foreach (System.Xml.XmlNode ItemXmlNode in MyXmlNodeList) 
     { 
      MyXmlNode = ItemXmlNode.SelectSingleNode("amz:ItemAttributes/amz:Title", MyXmlNamespaceManager); 
      ResponseMessage += "Title = " + MyXmlNode.InnerText; 

      ResponseMessage += Environment.NewLine; 
     } 
    } 

    MessageBox.Show(ResponseMessage); 
} 
else 
{ 
    MessageBox.Show(MyREST.ResponseStringFormatted); 
} 
+0

क्या आपको पता है कि एक समय में 10 आइटम वापस करने के लिए अमेज़ॅन पाने का कोई तरीका है या नहीं? – nagates

+0

जानकारी दस्तावेज़ीकरण में है। Http://docs.amazonwebservices.com/AWSECommerceService/2010-10-01/DG/index.html?ItemLookup.html देखें। प्रत्येक आइटम लुकअप अनुरोध, सबसे अधिक, दस संबंधित वस्तुओं को वापस कर सकता है। – Anton

+0

उन स्ट्रिंग concatenations थोड़ा बुरा हैं। – UpTheCreek

0

वहाँ अमेज़न की वेबसाइट पर उदाहरण के एक पूरे सेट है: http://aws.amazon.com/code/Product%20Advertising%20API?_encoding=UTF8&jiveRedirect=1

+0

मैंने उन लोगों के माध्यम से खोद दिया है, वे पुराने हैं, और यह गंभीर रूप से एक लाख अलग wsdl की तरह लगता है, और उनमें से आधे समान चीजें करते हैं, और उनमें से आधे पुराने हैं। – nagates

+0

हाँ, एक असली गड़बड़। – UpTheCreek

4

मैं एक छोटे से C# Wrapper for Amazon ItemLookup कि तुम वापस हाथ एक आसान वस्तु ग्राफ लिखा था। यह केवल आइटम लुकअप का समर्थन करता है। मेरे पास स्रोत on BitBucket है।

var item = client.LookupByAsin("B0037X9N5U"); 
double? price = item.GetLowestPrice(); 
1

हाय यह निम्नलिखित nuget Nager.AmazonProductAdvertising पैकेज

nuget

PM> Install-Package Nager.AmazonProductAdvertising 

उदाहरण

012 के साथ बहुत आसान है:

आप की तरह कॉल कर सकते हैं

var authentication = new AmazonAuthentication(); 
authentication.AccessKey = "accesskey"; 
authentication.SecretKey = "secretkey"; 

var wrapper = new AmazonWrapper(authentication, AmazonEndpoint.DE); 
var result = wrapper.Lookup("B0037X9N5U");