如何使用boto mws来拉取亚马逊特定的orderdata

时间:2015-10-25 00:43:18

标签: python boto amazon-mws

我正在试图弄清楚如何使用boto来提取各种亚马逊卖家帐户数据。但是,我似乎无法找到任何与此相关的示例。 以下代码不会返回错误,但也不会返回任何有用的数据(注释掉的打印订单行除外,它们似乎返回有用的数据)。

happens-before

有关如何获取上述特定订单关联数据的任何提示?

1 个答案:

答案 0 :(得分:3)

您的orders变量看起来不错,这就是打印显示数据的原因,但可能很难理解。从我看到的boto创建自定义对象,这些对象是从Web响应中翻译出来的。最有用的文档是Amazon MWS Dev Guideboto mws documentation。如果你看,你会看到所有的方法都融合在一起。

您的代码存在的问题是您的list_orders请求会返回订单列表。您需要解析列表以获取每个订单的ID。然后get_order调用是多余的,因为list_orders方法已经返回订单信息。

以下代码应该可以使用,但尚未经过测试。

from boto.mws.connection import MWSConnection 

merchantId = 'zzzz' 
marketplaceId = 'zzz' 
accessKeyId = 'zzzz' 
secretKey = 'secret' 

mws = MWSConnection(accessKeyId, secretKey, Merchant=merchantId) 

orders = mws.list_orders(CreatedAfter='2015-10-23T12:00:00Z', MarketplaceId = 
[marketplaceId])

for order in orders.ListOrdersResult.Orders.Order:
    this_order_id = order.AmazonOrderId
    theData = mws.get_order(AmazonOrderId = this_order_id)
    print theData
    #do what you want with the data
    #
    #EXAMPLE GET ORDER ITEMS
    order_items = mws.list_order_items(AmazonOrderId = this_order_id)
    print order_items