Fri*_*roc 7 python xml boto amazon-web-services amazon-mws
我在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'])
Run Code Online (Sandbox Code Playgroud)
这是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'))
Run Code Online (Sandbox Code Playgroud)
这并不理想,因为我有另一个eBay销售模块,它与ebaysdk-python返回的XML一起使用.亚马逊的格式与eBay类似,所以如果我能够获得亚马逊返回的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>
Run Code Online (Sandbox Code Playgroud)
然后我可以使用Python的xml.etree.ElementTree来解析和处理数据.
我认为没有官方支持的方法可以执行此操作,但您可以执行此操作以轻松获取原始 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...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
892 次 |
最近记录: |