Второй день не могу совладать с API сайта https://smmok-fb.ru/. Дело в том, чтобы получить API ключ мне нужно отправить массив с учетными данными(mail, password) в ответе в виде строки JSON я должен получить ключ. Но в итоге никак не получается отправить запрос должным образом, прошу помочь с отправкой POST запроса.
URL API - http://smmok-fb.ru/api/getApiKey Документация к API - https://smmok14.ru/api_docs
Класс для десерилизация JSON:
public class RequestSMMOK
{
[JsonProperty("status")]
public int Status { get; set; }
[JsonProperty("error")]
public string Error { get; set; }
[JsonProperty("respond")]
public Respond[] Respond { get; set; }
}
public class Respond
{
[JsonProperty("api_key")]
public string ApiKey { get; set; }
}
Мой пример кода:
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
HttpContent content = new FormUrlEncodedContent(new[]
{
new KeyValuePair<string, string>("email", "value@value.ru"),
new KeyValuePair<string, string>("password","value")
});
content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
var responseMessage =
await client.PostAsync("http://smmok-fb.ru/api/getApiKey", content);
var result = JsonConvert.DeserializeObject<RequestSMMOK>(responseMessage.Content.ReadAsStringAsync().Result);
return result;
}
Что я получаю в итоге в ответе - {"status":400,"error":"\u041d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d email"}"
MediaType, если это делает за васFormUrlEncodedContent? Также почему.Result, ведь у вас используетсяasync/await? – EvgeniyZ Jul 05 '20 at 10:13