如何使用botomws提取亚马逊特定的订单数据



我想弄清楚如何使用boto来拉各种亚马逊卖家帐户数据。然而,我似乎找不到任何与此相关的例子。下面的代码没有返回错误,但也没有返回任何有用的数据(除了注释掉的print 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])
#print orders
theData = mws.get_order(AmazonOrderId='xxx-xxxxxx-xxxxx')
print theData

关于如何获得上述特定订单相关数据的任何提示?

你的orders变量看起来不错,这就是为什么打印显示数据,但它可能很难理解。从我所看到的boto创建自定义对象,这些对象是从web响应翻译过来的。最有用的文档是Amazon MWS Dev Guide和boto MWS文档。如果你仔细看,你会发现所有的方法都很适合。

您的代码的问题是您的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

相关内容

最新更新