我想弄清楚如何使用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