2009-08-21 21 views
10

A partire dal 15 agosto, Amazon ha reso obbligatorio firmare tutte le richieste inviate alla propria API di pubblicità del prodotto. Pensavo di aver funzionato tutto bene, ma quando finalmente è arrivato il 15, la mia applicazione web ha smesso di funzionare e praticamente da quando ho cercato di scoprire come firmare le richieste SOAP.C# API di pubblicità di prodotti Amazon

Amazon ha un codice di esempio obsoleto per la firma di richieste che non sembrano lavorare here

Fondamentalmente, ho bisogno di sapere come aggiungere una firma ai mie richieste utilizzando la più recente C# e .NET API SOAP 3.5.

Spero di aver dato abbastanza dettagli, se non ho voglia di sentirmi libero di chiedermi di elaborare.

Thank You
The_Lorax

UPDATE: Sto usando MVC e bisogno di sapere come aggiungere la firma al all'oggetto ItemLookup o AWSECommerceService. C'è un attributo che contiene il valore della firma? Come viene allegato alla richiesta?

Su this page, si dice che devo includere i parametri Signature e TimeStamp ma l'intellisense ora mostra tali attributi.

risposta

13

Check out http://flyingpies.wordpress.com/2009/08/01/17/. Ha una soluzione dettagliata e una soluzione di studio di esempio con C#, SOAP, WCF su .NET 3.5.

+0

Ho visto questo articolo qualche tempo fa e che avrebbe funzionato per WCF, ma sto usando MVC e sto usando "AWSECommerceService" invece di "AWSECommerceServicePortTypeClient". –

+0

Ho finito per utilizzare una versione modificata di questo codice e un riferimento al servizio invece di un WebReference. Grazie per il vostro aiuto, è necessario apprezzare –

+0

+1 da me. Non avevo questo problema, ma questo è lo stesso codice che sto utilizzando per chiamare l'API di pubblicità del prodotto Amazon. – RichardOD

0

Questa libreria accesso automatico le richieste (Install-Package Nager.AmazonProductAdvertising) https://www.nuget.org/packages/Nager.AmazonProductAdvertising/

Esempio:

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

var wrapper = new AmazonWrapper(authentication, AmazonEndpoint.UK); 
var result = wrapper.Search("canon eos", AmazonSearchIndex.Electronics, AmazonResponseGroup.Large); 
Problemi correlati