https://www. reddit.com/api/v1/access_token?grant_type=password&username=xxxx&password=xxxx
Будем благодарны за любую помощь.
Спасибо.
РЕДАКТИРОВАТЬ: Спасибо за ссылку ipodtouch0218. Я добавил несколько полей в заголовок.
Теперь я получаю обратно статус 200, но в теле ничего нет.
Вот код:
Код: Выделить всё
public void Index()
{
string username = "xxxxx";
string password = "xxxxx";
string authString = $"{"xxxxx"}:{"xxxx"}";
string base64AuthString = Convert.ToBase64String(ASCIIEncoding.UTF8.GetBytes(authString));
HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, RedditAuth);
requestMessage.Headers.Clear();
requestMessage.Content = new StringContent($"?grant_type=password&username={username}&password={password}", Encoding.UTF8, "application/x-www-form-urlencoded");
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("basic", base64AuthString);
requestMessage.Headers.Add("User-Agent", "test-app");
requestMessage.Headers.Add("Accept", "*/*");
requestMessage.Headers.Add("Accept-Encoding", "*");
requestMessage.Headers.Add("Connection", "keep-alive");
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
Console.WriteLine(requestMessage);
var response = client.SendAsync(requestMessage).GetAwaiter().GetResult();
Console.WriteLine(response);
return;
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... cess-token