【问题标题】:How can I return XML from boto calls?如何从 boto 调用返回 XML?
【发布时间】:2014-08-26 10:28:17
【问题描述】:

我在 Python 2.7.6 中使用 boto 2.32.1。我在使用 boto 的 mws 模块的 list_orders 函数来获取我的亚马逊订单的 XML 数据时遇到问题。

这是我打的电话:

response = connection.list_orders(CreatedAfter='2014-08-26T05:53:44+00:00', 
   MarketplaceId=['XXXXXXXXXXXXX'])

这里是response的值(明显去掉了个人信息)

ListOrdersResponse{u'xmlns': u'https://mws.amazonservices.com/Orders/2013-09-01'}
(ListOrdersResult: ListOrdersResult{}
(CreatedBefore: u'2014-08-26T10:06:10Z', Orders: ^Orders^{}
(Order: [Order{}(***ORDER INFORMATION***)])), 
ResponseMetadata: ^ResponseMetadata^{}(RequestId: u'xxxxxxxxxx'))

这并不理想,因为我有另一个用于 eBay 销售的模块,它使用 ebaysdk-python 返回的 XML。 Amazon 的 XML 格式与 eBay 类似,所以如果我能得到 Amazon 返回的 XML 而不是上面的格式,那就太好了。

我注意到如果我使用boto.set_stream_logger('boto'),它会打印返回的 XML,所以也许我可以以某种方式利用它?

这是我想要返回的:

<ListOrdersResponse xmlns="https://mws.amazonservices.com/Orders/2013-09-01">
  <ListOrdersResult>
    <Orders>
      <Order>
        ***ORDER INFORMATION***
      </Order>
    </Orders>
    <CreatedBefore>2014-08-26T10:18:59Z</CreatedBefore>
  </ListOrdersResult>
  <ResponseMetadata>
    <RequestId>XXXXXXXXXXXXXXXXXXXXXXXXXXXXX</RequestId>
  </ResponseMetadata>
</ListOrdersResponse>

然后我可以使用 Python 的 xml.etree.ElementTree 来解析和处理数据。

【问题讨论】:

  • 您好,我也想从 mws 获得订单。但不断遇到错误。如果你没问题,你可以分享你的代码吗?它可以帮助我解决这个问题。谢谢

标签: python xml amazon-web-services boto amazon-mws


【解决方案1】:

我认为没有官方支持的方法来执行此操作,但您可以这样做以轻松获取原始 XML 响应:

# Set up
from boto.mws.connection import MWSConnection
MWSConnection._parse_response = lambda s, x, y, z: z

# Usage
result = az.get_matching_product_for_id(MarketplaceId="ATVPDKIKX0DER",
                                            SearchIndex="Books",
                                            IdType="ASIN",
                                            IdList=[0439023521])
# <?xml version="1.0"?>\n<GetMatchingProductForIdResponse xmlns...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 1970-01-01
    • 2017-12-06
    • 2017-02-23
    相关资源
    最近更新 更多