Qualcuno potrebbe fornire un esempio in C # usando itemsearch da Amazon Web Services

StackOverflow https://stackoverflow.com/questions/436801

  •  22-07-2019
  •  | 
  •  

Domanda

Sto cercando di utilizzare Amazon Web Services per richiedere informazioni su artista e titolo e ricevere nuovamente le copertine degli album. Usando C # non riesco a trovare esempi che si avvicinino a questo. Tutti gli esempi online sono obsoleti e non funzionano con la versione più recente di AWS.

È stato utile?

Soluzione

Qui vai per quello che vale. Questo è un codice all'interno di un controllo Asp.Net per visualizzare le informazioni sul libro. Probabilmente puoi adattarlo ai tuoi scopi abbastanza facilmente. O almeno darti un punto di partenza. Se vuoi davvero, sarei felice di raggruppare il controllo e inviarlo a modo tuo.

if (!(string.IsNullOrEmpty(ISBN) && string.IsNullOrEmpty(ASIN)))
{
    AWSECommerceService service = new AWSECommerceService();
    ItemLookup lookup = new ItemLookup();
    ItemLookupRequest request = new ItemLookupRequest();

    lookup.AssociateTag = ConfigurationManager.AppSettings["AssociatesTag"];
    lookup.AWSAccessKeyId = ConfigurationManager.AppSettings["AWSAccessKey"];
    if (string.IsNullOrEmpty(ASIN))
    {
        request.IdType = ItemLookupRequestIdType.ISBN;
        request.ItemId = new string[] { ISBN.Replace("-", "") };
    }
    else
    {
        request.IdType = ItemLookupRequestIdType.ASIN;
        request.ItemId = new string[] { ASIN };
    }
    request.ResponseGroup = ConfigurationManager.AppSettings["AWSResponseGroups"].Split(new char[] { ' ', ',', ';' }, StringSplitOptions.RemoveEmptyEntries);

    lookup.Request = new ItemLookupRequest[] { request };
    ItemLookupResponse response = service.ItemLookup(lookup);

    if (response.Items.Length > 0 && response.Items[0].Item.Length > 0)
    {
        Item item = response.Items[0].Item[0];
        if (item.MediumImage == null)
        {
            bookImageHyperlink.Visible = false;
        }
        else
        {
            bookImageHyperlink.ImageUrl = item.MediumImage.URL;
        }
        bookImageHyperlink.NavigateUrl = item.DetailPageURL;
        bookTitleHyperlink.Text = item.ItemAttributes.Title;
        bookTitleHyperlink.NavigateUrl = item.DetailPageURL;
        if (item.OfferSummary.LowestNewPrice == null)
        {
            if (item.OfferSummary.LowestUsedPrice == null)
            {
                priceHyperlink.Visible = false;
            }
            else
            {
                priceHyperlink.Text = string.Format("Buy used {0}", item.OfferSummary.LowestUsedPrice.FormattedPrice);
                priceHyperlink.NavigateUrl = item.DetailPageURL;
            }
        }
        else
        {
            priceHyperlink.Text = string.Format("Buy new {0}", item.OfferSummary.LowestNewPrice.FormattedPrice);
            priceHyperlink.NavigateUrl = item.DetailPageURL;
        }
        if (item.ItemAttributes.Author != null)
        {
            authorLabel.Text = string.Format("By {0}", string.Join(", ", item.ItemAttributes.Author));
        }
        else
        {
            authorLabel.Text = string.Format("By {0}", string.Join(", ", item.ItemAttributes.Creator.Select(c => c.Value).ToArray()));
        }
        ItemLink link = item.ItemLinks.Where(i => i.Description.Contains("Wishlist")).FirstOrDefault();
        if (link == null)
        {
            wishListHyperlink.Visible = false;
        }
        else
        {
            wishListHyperlink.NavigateUrl = link.URL;
        }
    }
}

Altri suggerimenti

Esiste un progetto open source su CodePlex che potresti voler dare un'occhiata a ... È una libreria .NET per i servizi Web di Amazon. S3, SQS, FPS, EC2 e DevPay

Potrebbe essere così semplice (come mostrato su codeplex):

S3Client s3 = new S3Client("myAWSKey", "MyAWSPassword");

bool success = s3.Connect();

S3Client s3 = new S3Client("key", "secret"):
var buckets = from b in s3.Buckets
                           where b.Name == "demo"
                           select b;
foreach(Bucket b in buckets)
{
     Console.WriteLine(b.About());
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top