我希望通过python脚本从WooCommerce API导出所有订单。
我已经跟着了 authentication process 我一直在使用方法获取描述的订单 here。我的代码如下所示:
wcapi = API(
url = "url",
consumer_key = consumerkey,
consumer_secret = consumersecret
)
r = wcapi.get('orders')
r = r.json()
r = r['orders']
print(len(r)) # output: 8
这会输出最近的8个订单,但我想访问所有这些订单。现在通过woocommerce订购了200多个订单。我如何访问所有订单?
请告诉我,我遗失了一些简单的事情。 我的最终目标是自动提取这些订单,转换它们,然后上传到可视化工具。所有的意见都表示赞赏。
答案 0 :(得分:0)
相应的documentation中找到的相关参数为page
和per_page
。 per_page
参数定义了每次请求应检索的订单数。 page
参数定义订单集的当前页面。
例如,wcapi.get('orders/per_page=5&page=2')
发送的请求将返回5到10的订单。
但是,由于per_page
的默认值为10,因此不清楚为何只能获得8个订单。
答案 1 :(得分:0)
第一:初始化您的API(与您一样)。
void Awake() {
var resolution = Screen.currentResolution;
var height = (int)(resolution.height * 0.65f);
var width = (int)(resolution.width * 0.65f);
Screen.SetResolution(height, width, true);
}
第二:从您的请求中获取订单(就像您一样)。
wcapi = API(
url=eshop.url,
consumer_key=eshop.consumer_key,
consumer_secret=eshop.consumer_secret,
wp_api=True,
version="wc/v2",
query_string_auth=True,
verify_ssl = True,
timeout=10
)
第三:获取总页面。
r=wcapi.get("orders")
第四:对于每个页面,捕获json并通过API访问数据。
total_pages = int(r.headers['X-WP-TotalPages'])