2012-09-04 31 views
31

Estoy tratando de obtener los detalles del producto Amazon de su ASIN. El producto API permite hacer una vista de elemento con ASIN, pero el valor de retorno está en XML.Amazon Advertising API de productos: cómo obtener una respuesta JSON para ItemLookup/Search

Quiero hacer esta llamada para Itemlookup desde el lado del cliente, por lo que me gustaría hacer una llamada JSONP, que no pude encontrar.

he encontrado algunos artículos en la web para convertir el formato de XML para JSON usando hoja de estilo XSLT:

(a) https://bitbucket.org/basti/python-amazon-product-api/src/tip/examples/json-results.py

He intentado utilizar esta python-amazon-product-api y este ejemplo, pero no pude conseguir una JSON devolución.

(b) http://www.kokogiak.com/gedankengang/2006/05/consuming-amazons-web-api-directly.html

La solicitud Traté de enviar es:

http://xml-us.amznxslt.com/onca/xml?AWSAccessKeyId=[ACCESS KEY]&AssociateTag=[ASSOCIATE TAG]&ContentType=text%2Fjavascript&IdType=ASIN&ItemId=B008IEGS9W&Operation=ItemLookup&ResponseGroup=Images%2CItemAttributes&Service=AWSECommerceService&Style=http%3A%2F%2Fforums.delphiforums.com%2Fdelphidocsz%2Famazon%2Fjson.xsl&Timestamp=2012-09-04T06%3A40%3A11Z&Signature=AGOqXvVSeMp3YyVkT4mGNXVx0cFGG%2Bh%2FdAebevbbF9o%3D 

Por favor, ayuda con la obtención de un formato JSON con Amazon product API. Cualquier sugerencia es bienvenida.


El OP puede ejecutar esta hoja de estilo (documento de entrada no utilizado) para determinar su versión XSLT.

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" 
    exclude-result-prefixes="xsl msxsl"> 
<xsl:output method="html" indent="yes"/> 

<xsl:template match="/"> 
    <html> 
    <head><title>About your XSLT Processor</title></head> 
    <body> 
    <ul> 
     <li>xsl:version=<xsl:value-of select="system-property('xsl:version')" /></li> 
     <li>xsl:vendor=<xsl:value-of select="system-property('xsl:vendor')" /></li> 
     <li>xsl:vendor-url=<xsl:value-of select="system-property('xsl:vendor-url')" /></li> 
     <li>xsl:product-name=<xsl:value-of select="system-property('xsl:product-name')" /></li> 
     <li>xsl:product-version=<xsl:value-of select="system-property('xsl:product-version')" /></li> 
     <li>xsl:is-schema-aware=<xsl:value-of select="system-property('xsl:is-schema-aware')" /></li> 
     <li>xsl:supports-serialization=<xsl:value-of select="system-property('xsl:supports-serialization')" /></li> 
     <li>xsl:supports-backwards-compatibility=<xsl:value-of select="system-property('xsl:supports-backwards-compatibility')" /></li> 
     <li>msxsl:version=<xsl:value-of select="system-property('msxsl:version')" /></li> 
    </ul> 
    </body> 
</html> 
</xsl:template> 

</xsl:stylesheet> 
+0

Proporcione una muestra del valor devuelto XML y su formato JSON requerido en particular. Entonces debería ser posible escribir una hoja de estilo XSLT para transformarla en JSON. ¿Qué versión de XSLT puedes usar? 1.0? o 2.0? –

+0

Encuentre la respuesta XML en https://gist.github.com/3626354. Me gustaría extraer el título del producto, enlace de la página de detalles, la imagen del medio del producto. No estoy seguro de la versión del XSLT. Cómo encontrarlo? – thomastinu

+0

Ejecute la hoja de estilo que he incluido e informe los resultados. –

Respuesta

5

intente cualquiera de estas ::

  1. Amazon JSON API - Este es un servicio web de rubí para pasar a través de solicitudes y traducir las respuestas a JSON.
  2. probar cualquiera de estas funciones Javascript para convertir el XML que ya tiene en JSON:
    1. http://goessner.net/download/prj/jsonxml/
    2. http://davidwalsh.name/convert-xml-json
    3. http://www.fyneworks.com/jquery/xml-to-json/
    4. http://www.thomasfrank.se/xml_to_json.html

He intentado thomasfrank mí mismo. Es fácil y funciona bien :)

Cuestiones relacionadas