Przecież w C# ci taki zapis request.AddParameter( "application/json", "{ "order_id": 99999999 }", ParameterType.RequestBody);
nie zadziała, zwłaszcza ta część "{ "order_id": 99999999 }"
. Polecam skorzystać z NewtosoftJson
Ja mam tak
private RestRequest _createRequest(string method, object parameters)
{
RestRequest request = new RestRequest();
request.Method = Method.Post;
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("X-BLToken", "token");
request.AddParameter("method", method);
if(parameters != null)
request.AddParameter("parameters", JsonConvert.SerializeObject(parameters));
return request;
}
A wywołuje tak
RestRequest request = _createRequest("getOrders", new { order_id = id });
Tak z głupa spróbowałem czy to zadziała, ale dostaję {"status":"ERROR","error_code":"ERROR_UNKNOWN_METHOD","error_message":"An empty or unknown method has been used"}
Dlaczego?
static void Main(string[] args)
{
var client = new RestClient("https://api.baselinker.com/connector.php");
RestRequest request = _createRequest("getOrders", new { order_id = 64533165 });
var response = client.Get(request);
Console.WriteLine(response.Content.ToString());
RestRequest _createRequest(string method, object parameters)
{
RestRequest request = new RestRequest();
request.Method = Method.Post;
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("X-BLToken", "xxxxxxxx");
request.AddParameter("method", method);
if (parameters != null)
request.AddParameter("parameters", JsonConvert.SerializeObject(parameters));
return request;
}
}