Запрос недействителен, потому что JSON неправильно экранирован. Вам необходимо экранировать каждую обратную косую черту в My Tasks\\VPN
.
"{ \"taskRelativePath\": \"My Tasks\\\\VPN.atmx\", \"botRunners\": [{ \"client\": \"DESKTOP -Hidden name\", \"user\": \"botrunner03\"}], \"runWithRDP\": \"true\" }");
В противном случае он будет читать JSON следующим образом (обратите внимание, что есть только одна обратная косая черта sh):
{
"taskRelativePath": "My Tasks\VPN.atmx", <-- invalid JSON
"botRunners": [
{
"client": "DESKTOP -Hidden name",
"user": "botrunner03"
}
],
"runWithRDP": "true"
}
С RestSharp вы можете использовать request.AddJsonBody
для создания своих JSON полезных нагрузок, так как это то, для чего это было сделано, и вам не нужно беспокоиться о кавычках. Это будет использовать Simple Json для сериализации объекта.
request.AddJsonBody(new
{
taskRelativePath = "My Tasks\\\\VPN.atmx",
botRunners = new[]
{
new { client = "DESKTOP -Hidden name", user = "botrunner03" }
},
runWithRDP = "true",
});