Как аутентифицировать Pardot API с помощью HttpClient

Я боролся около дня, пытаясь аутентифицироваться в Pardot API. Мне не понравилось, как я пытался опубликовать тело сообщения. Поэтому я хотел опубликовать решение, которое сработало для меня. Если у вас есть какие-либо советы или альтернативы, я хотел бы их услышать.

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

var url = "https://pi.pardot.com/api/login/version/3";

//(Edit) Shorter way to pass the parameters below
//var postData = new List<KeyValuePair<string, string>>
//{
//    new KeyValuePair<string, string>("email", "<value>"),
//    new KeyValuePair<string, string>("password", "<value>"),
//    new KeyValuePair<string, string>("user_key", "<value>")
//};

var postData = new Dictionary<string, string>
{
    {"email", "<value>"},
    {"password", "<value>"},
    {"user_key", "<value>"}
};

var httpContent = new FormUrlEncodedContent(postData);

using (var client = new HttpClient())
{
    HttpResponseMessage response = client.PostAsync(url, httpContent).Result;

    if (response.IsSuccessStatusCode)
    {
        string resultValue = response.Content.ReadAsStringAsync().Result;
    }
}

Спасибо!


person pwDev    schedule 01.06.2016    source источник
comment
Непонятно в чем дело. Вы говорите, что ваше решение сработало. Какой у Вас вопрос?   -  person Nkosi    schedule 02.06.2016
comment
Не столько вопрос, сколько публикация решения моей проблемы/вопроса. Поскольку я боролся и не мог найти быстрого решения, я хотел избавить кого-то еще от проблем. это все. Если у вас есть что добавить к решению, пожалуйста, внесите свой вклад.   -  person pwDev    schedule 02.06.2016
comment
@pwDev SO следует формату вопросов и ответов. Не могли бы вы добавить ответ, принять его и вместо этого отредактировать свой вопрос? stackoverflow.blog/2011/07/01/< /а>   -  person galdin    schedule 21.01.2019