.NET WooRestAPI (WooCommerce) 获取所有订单
.NET WooRestAPI (WooCommerce) Get All Orders
我正在使用 WooCommerce.NET 包装器 class 与 WooCommerce API v2 进行通信。我正在尝试 GetAll()
订单,但它对每页返回 10 个有限制。
这是我目前所拥有的:
try
{
WooRestAPI rest = new WooRestAPI(baseUrl, key, secret);
WCObject wc = new WCObject(rest);
var getOrders = await wc.Order.GetAll(new Dictionary<string, string>() {
{ "page", "1" },
{ "per_page", "50" } });
orders = ExtractWooData(getOrders);
WriteToConsole(orders);
WriteToFile(orders, outputPath);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
new Dictionary<string, string>()
是 WooRestAPI docs 可用的参数。
我已经尝试查看 wc
对象以查看我是否可以以某种方式查询页面,但它似乎没有任何相关的 属性。
如果相关的话,这也将是一个 async
Azure 函数。我将如何构建页面以使其 returns 所有订单数据而不仅仅是 1 页?
我明白了。我做了一个永远的 while
循环,每次将 1 添加到页码。如果 wc.Order.GetAll()
returns 计数小于 per_page
限制提取数据并 break
退出循环(意味着它是最后一次调用),否则提取数据并递增page
#:
try
{
WooRestAPI rest = new WooRestAPI(baseUrl, key, secret);
WCObject wc = new WCObject(rest);
int pageNum = 1;
while (true)
{
var page = pageNum.ToString();
var getOrders = await wc.Order.GetAll(new Dictionary < string, string > () {
{
"page", page
}, {
"per_page", "100"
}
});
if (getOrders.Count < 100)
{
ExtractWooData(getOrders);
break;
}
else
{
ExtractWooData(getOrders);
pageNum++;
}
}
WriteToConsole(orders);
WriteToFile(orders, outputPath);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
我正在使用 WooCommerce.NET 包装器 class 与 WooCommerce API v2 进行通信。我正在尝试 GetAll()
订单,但它对每页返回 10 个有限制。
这是我目前所拥有的:
try
{
WooRestAPI rest = new WooRestAPI(baseUrl, key, secret);
WCObject wc = new WCObject(rest);
var getOrders = await wc.Order.GetAll(new Dictionary<string, string>() {
{ "page", "1" },
{ "per_page", "50" } });
orders = ExtractWooData(getOrders);
WriteToConsole(orders);
WriteToFile(orders, outputPath);
}
catch (Exception e)
{
throw new Exception(e.Message);
}
new Dictionary<string, string>()
是 WooRestAPI docs 可用的参数。
我已经尝试查看 wc
对象以查看我是否可以以某种方式查询页面,但它似乎没有任何相关的 属性。
如果相关的话,这也将是一个 async
Azure 函数。我将如何构建页面以使其 returns 所有订单数据而不仅仅是 1 页?
我明白了。我做了一个永远的 while
循环,每次将 1 添加到页码。如果 wc.Order.GetAll()
returns 计数小于 per_page
限制提取数据并 break
退出循环(意味着它是最后一次调用),否则提取数据并递增page
#:
try
{
WooRestAPI rest = new WooRestAPI(baseUrl, key, secret);
WCObject wc = new WCObject(rest);
int pageNum = 1;
while (true)
{
var page = pageNum.ToString();
var getOrders = await wc.Order.GetAll(new Dictionary < string, string > () {
{
"page", page
}, {
"per_page", "100"
}
});
if (getOrders.Count < 100)
{
ExtractWooData(getOrders);
break;
}
else
{
ExtractWooData(getOrders);
pageNum++;
}
}
WriteToConsole(orders);
WriteToFile(orders, outputPath);
}
catch (Exception e)
{
throw new Exception(e.Message);
}