Как написать пост предписания в c# Restsharpe? - PullRequest
0 голосов
/ 15 апреля 2020

Я бы хотел, чтобы мой код c# выполнял те же функции, что и запрос API get / post, как мой почтальон. Я вижу, что в почтальоне настроено несколько предписаний, которые я не знаю, как писать в c#. эти предписания содержат несколько переменных, которые аутентифицируются, и затем мои скрипты API работают. а также auth = токен на предъявителя. как мне включить все эти настройки в мой c# код.

переменные:

код префикса post man:

let path = pm.variables.get("API_GATEWAY_HOST") + "/oauth/accesstoken";
let appKey = pm.variables.get("API_GATEWAY_KEY");
let appSecret = pm.variables.get("API_GATEWAY_SECRET");
let scope = "useradminapi_all_read%20read";
let basicAuthString = pm.variables.get("BASE64_ENCODED_CLIENT_ID_SECRET");
pm.sendRequest(
    {
        url: path,
        method: "POST",
        header: 
        {
            "Content-Type": "application/x-www-form-urlencoded",
            "Authorization": "Basic " + basicAuthString,
        },
        body:
        {
            mode: 'raw',
            raw: "service=city&app_key=" + appKey + "&app_secret=" + appSecret +"&scope=" + scope
        }
    },
    function (err, response) 
    {
        console.log("test");
        console.log(response.json().token);
        pm.variables.set("TOKEN", response.json().token);
    }
);

до сих пор я написал следующий код в c# и он не работает, потому что API-шлюзу нужны специальные настройки outh мой код:

    var client = new RestClient("https://api.developer.com/api/en-us/d1432e1b-0c7b-b47c-1009a052a2bd/requestcounter");
    client.Timeout = -1;
    var request = new RestRequest(Method.GET);
    request.AddHeader("Content-Type", "application/json");
    request.AddHeader("API_GATEWAY_HOST", " https://api.developer.com");
    request.AddHeader("API_GATEWAY_KEY","U2g5TEeosrg1udGsfnH9");
    request.AddHeader("API_GATEWAY_SECRET", "UvFR70SBLQq");
    request.AddHeader("BASE64_ENCODED_CLIENT_ID_SECRET","cmFqZXNoLnN1cnhpOjEyMzQ1Njc4OTA");
    IRestResponse response = client.Execute(request);
    Console.WriteLine(response.Content); //fail

Я совершенно новичок в этом, и некоторая помощь поможет мне понять код

...