我已升级到V2,无法在我的Windows服务器上通过C#发布Woocommerce更新(使用RestSharp)。
GET适用于V1和V2。
更改订单状态(订单81)在V1中工作,使用以下代码:
var client = new RestClient("https://mysite.com");
client.Authenticator = new HttpBasicAuthenticator("ck_6c5bbb4e467d1994d2428a476bxxxxxx",
"cs_008adefb1692a708e9795de9fxxxxxx");
var requestv1 = new RestRequest("wc-api/v1/orders/{id}", Method.POST);
requestv1.RequestFormat = DataFormat.Json;
requestv1.AddBody(new { status = "completed" });
requestv1.AddParameter("id", 81, ParameterType.UrlSegment);
var queryResultv1 = client.Execute<WC_Manager.OrderSingle>(requestv1);
将资源更改为“wc-api / v2 / orders / {id}”不会产生任何错误,并且执行仍然会使用v2中的额外字段返回订单,但是状态在查询结果中或在数据库。
尝试在V2中发布产品更新时遇到同样的问题。
尝试PUT或DELETE给我一个“MethodNotAllowed”。
答案 0 :(得分:0)
您可以使用以下方法添加正文内容:
string bodyContent;
bodyContent = "{ \"status\": \"completed\" , ";
bodyContent += "\"customer_note\": \"" + customerNote + "\" }";
request.AddParameter("application/json", bodyContent, ParameterType.RequestBody);