首页 > 解决方案 > 使用 WooCommerceNET 库从 woocomerce 获取数据

问题描述

我已经通过 api 成功连接到我的 wc 站点,使用 site_name、客户密钥和客户密码,遵循这篇文章中的示例:如何显示来自 Woocomerce Api 调用的数据?

但是我收到此代码错误:

 var orders = await wc.Order.GetAll();

“'await' 运算符只能在异步方法中使用......”

我怀疑这是一个问题,因为我直接在公共Form1中使用代码?

所以我将代码更改为(删除了“等待”):

 var orders = wc.Order.GetAll();

我试着

foreach (var order in orders)
{
     Debug.WriteLine($"ID: {Order.id}");
}

这里的错误是:

foreach 语句不能对 Task 类型的变量进行操作

为什么这被标记为“任务”?

这一定很容易解决,我对此感到很愚蠢……你能帮我摆脱困境吗?

感谢 HariHaran 帮助我解决了这个问题!我现在能够成功读取数据并将其写入文本框等。

但是我找不到读取嵌套数据的方法,例如,如何获取类别的名称?

 "categories": [
        {
            "id": 15,
            "name": "Furniture",
            "slug": "furniture"
        }

标签: c#.netwoocommerce-rest-api

解决方案


您正在使用同步方法,因此更改如下行

var orders = wc.Order.GetAll().GetAwaiter().GetResult();

现在,如果您进行迭代,orders它将起作用。

orders.ForEach(o=> Debug.WriteLine($"ID:{o.Id}"));

但是你应该了解 ASYNC / AWAIT - DOCS


推荐阅读