ASP.NET Amazon ItemSearch - PullRequest
       3

ASP.NET Amazon ItemSearch

5 голосов
/ 21 января 2011

Кто-нибудь знает какие-либо хорошие примеры или хочет объяснить, как выполнить поиск Amazon, похожий на этот, http://blogs.msdn.com/b/coding4fun/archive/2006/10/31/912260.aspx, Я бы просто использовал это, но, похоже, он устарел, а источник - нет дольше доступны. Идеально, что я хотел бы иметь, это искать элементы по любому ключевому слову, например, "звездный путь" или прямо вверх по UPC. Я хотел бы получить название, описание, год и ссылку на изображение, тип (DVD, книги, музыка). Любая помощь будет великолепна, спасибо.

Ответы [ 4 ]

4 голосов
/ 22 сентября 2012

Я написал небольшую C # Wrapper для Amazon ItemLookup , которая возвращает вам удобный граф объектов.Это только поддерживает ItemLookup прямо сейчас.У меня есть источник вверх на BitBucket .

Вы можете совершать звонки, как:

var item = client.LookupByAsin("B0037X9N5U");
double? price = item.GetLowestPrice();
1 голос
/ 17 мая 2016

Привет, это очень легко с помощью следующего nuget Nager.AmazonПродуктРеклама упаковка

NuGet

PM> Install-Package Nager.AmazonProductAdvertising

Пример

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

var wrapper = new AmazonWrapper(authentication, AmazonEndpoint.DE);
var result = wrapper.Lookup("B0037X9N5U");
1 голос
/ 21 января 2011

Компонент SprightlySoft AWS для .NET позволяет взаимодействовать с API рекламы продуктов Amazon.Вот пример кода для поиска элемента на основе UPC.Получить компонент бесплатно по адресу 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 голосов
/ 21 января 2011

На сайте amazon есть целый ряд примеров: http://aws.amazon.com/code/Product%20Advertising%20API?_encoding=UTF8&jiveRedirect=1

...