通过PythonAPI获取所有Woocommerce订单

2024-10-01 01:42:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望通过python脚本从wooccommerce 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多个订单。如何访问所有订单?在

请告诉我我缺少一些简单的东西。 我的最终目标是自动提取这些订单,转换它们,然后上传到可视化工具。感谢所有的意见。在


Tags: 方法key代码订单脚本apiurlauthentication
2条回答

在相应的documentation中找到的相关参数是page和{}。per_page参数定义了每次请求应检索多少个订单。page参数定义order集合的当前页面。在

例如,wcapi.get('orders/per_page=5&page=2')发送的请求将返回订单5到10。在

但是,由于per_page的默认值是10,因此不清楚为什么只有8个订单。在

首先:初始化API(如您所做的那样)。在

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
    )

第二次:从您的请求中获取订单(如您所做的那样)。在

^{pr2}$

第三个:获取总页数。在

total_pages = int(r.headers['X-WP-TotalPages'])

Forth:对于每个页面,捕捉json并通过API访问数据。在

for i in range(1,total_pages+1):
     r=wcapi.get("orders?&page="+str(i)).json()
     ...

相关问题 更多 >