0

我正在尝试通过 C# 将新项目创建发布到测试商店,但我不确定语法应该如何阅读。Square Connect API 需要至少一种变体来创建新项目,但我不确定如何将其添加到 JSON 正文中。这是我所拥有的,但我不确定如何完成它。

var client = new RestSharp.RestClient();
var post = new RestRequest("https://connect.squareup.com/v1/me/items", Method.POST);
post.RequestFormat = DataFormat.Json;
post.AddHeader("Authorization", String.Format("Bearer {0}", testtoken));
post.AddBody(new { name = testname, variations = ???? });

此代码有效,但返回的项目响应必须包含至少一个变体。我意识到这一点,但不知道如何写它,或者它是否可能。

我不反对走不同的路线。

编辑以添加 Square 文档中的示例请求正文:

   {
       "name": "Milkshake",
       "description": "It's better than yours",
       "visibility": "PRIVATE",
       "category_id": "36ac7016-3a4e-4934-81f1-9057ac613f2y",
       "variations": [
       {
         "name": "Small",
         "pricing_type": "FIXED_PRICING",
         "price_money": {
           "currency_code": "USD",
           "amount": 400
       },
        "sku": "123"
      }
   ]
}
4

1 回答 1

0

像这样的东西应该以正确的格式序列化为 JSON:

post.AddBody(new {
    name = testname,
    variations = new object[] {
        new {
            name = "Small",
            pricing_type = "FIXED_PRICING",
            price_money = new {
                currency_code = "USD",
                amount = 400
            }
        }
    },
    sku = "123"
});
于 2014-10-02T21:30:49.020 回答