2011-12-22 7 views
7

Estoy tratando de crear una pequeña aplicación que interactúe con la API de producto de Amazon (obtenga precios de artículos, etc.)¿Hay una muestra de C# actualizada para la API de productos de Amazon?

Desafortunadamente todos los ejemplos de C# para la interacción con el servicio Amazon WCF que he encontrado hasta ahora están desactualizados. Sé que Amazon decidió que cada llamada de servicio debe estar firmada con un accessKeyId y secretKey personal, por lo que todas las muestras de código mínimo que son anteriores a 2009 (creo que hicieron el cambio en 2009) son inútiles. La documentación oficial de Amazon es inútil para mí también, ya que no proporciona la información necesaria.

También busqué en Google dos tutoriales sobre cómo acceder a la API, y al seguirlos solo obtuve resultados de búsqueda para ninguna búsqueda o simplemente nulo.

¿Hay una muestra mínima actualizada (en funcionamiento) disponible?

+0

creo que el siguiente todavía funciona http://flyingpies.wordpress.com/2009/08/01/17/ –

+0

Nop es no. La muestra arroja excepciones de referencia nulas debido a que la mayoría de las propiedades del objeto de respuesta son nulas. Gracias por su esfuerzo, aunque – citronas

+1

Acabo de utilizar ese código para responder a una pregunta similar. El OP tenía el mismo problema que ahora. * Ahora * creo que puede haber un problema con el nuevo requisito de etiqueta de asociado que no afectaría a mi cuenta hasta febrero, pero afectará a cualquier cuenta nueva. Por supuesto que podría ser incorrecto, pero tal vez deberías echarle un vistazo a esa pregunta/respuesta de cualquier forma. http://stackoverflow.com/a/8143122/843318 –

Respuesta

2

Así que, finalmente encontré la solución, basada en un comentario publicado aquí: http://www.falconwebtech.com/post/2010/06/14/Using-WCF-and-SOAP-to-Send-Amazon-Product-Advertising-API-Signed-Requests.aspx Esta es también la URL, donde descargué el código que hice funcionar.

No pasé mi "Identificación única de sus asociados", que ni siquiera tenía hasta ahora. Se puede conseguir aquí: https://affiliate-program.amazon.com/

Añadir

itemSearch.AssociateTag = "YourAssociateID"; 

antes amazonClient.ItemSearch(itemSearch).

funciona como un encanto

1

si la solución anterior todavía no funcionará.

probar este .. (i utilizar Microsoft Visual Studio 2010)

descargar el código de ejemplo en http://www.falconwebtech.com/post/2010/06/14/Using-WCF-and-SOAP-to-Send-Amazon-Product-Advertising-API-Signed-Requests.aspx

necesitamos actualizar las referencias de servicios, hacer un pequeño cambio en el app.config, Program.cs, y reference.cs.

app.config:
(1.)
appSettings etiqueta; asignar accessKeyId y secretKey valor, añadir
<add key="associateTag" value="yourAssociateTag" />.
(2.) comportamientos etiqueta -> endpointBehaviors etiqueta -> Comportamiento de la etiqueta -> etiqueta signingBehavior; asignar accessKeyId y el valor de secretKey.
(3.) bindings tag -> basicHttpBinding tag; (opcional) eliminar etiqueta de enlace excepto AWSECommerceServiceBindingNoTransport y AWSECommerceServiceBindingTransport.
(4.) etiqueta de cliente;
borrar la etiqueta de punto final excepto AWSECommerceServiceBindingTransport.

Program.cs:
añadir itemSearch.AssociateTag = ConfigurationManager.AppSettings [ "associateTag"]; antes de la respuesta ItemSearchResponse = amazonClient.ItemSearch (itemSearch);

reference.cs: (archivo abierto en las referencias de servicios de carpeta utilizando Visual Studio)
cambio ImageSet privada [] [] imageSetsField; a ImageSet privado [] imageSetsField;
cambio ImageSet [] [] ImageSets públicas {...} a ImageSets públicas ImageSet [] {...}

finalmente podemos ejecutar nuestro programa y que funcionará. buena suerte ..

NB: habrá 1 de advertencia (no válido elemento secundario de firmar el comportamiento), creo que podemos hacer caso omiso de ella, o si tiene alguna solución por favor comparta .. ^^ v ..

+0

El enlace está muerto a partir de 2016. Es por eso que pedimos a las personas que publiquen respuestas, no solo enlaces a las respuestas. –

3

I han encontrado un proyecto hasta a la fecha, el código está disponible en gitHub Nager.AmazonProductAdvertising

Nuget

PM> install-package Nager.AmazonProductAdvertising 

Ejemplo

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

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