Аутентификация Battle.net Api - PullRequest
       1

Аутентификация Battle.net Api

0 голосов
/ 19 февраля 2019

Я пытаюсь получить токен доступа, и я следую этому руководству:

Вот мой код:

using (var httpClient = new HttpClient())
{
    using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://eu.battle.net/oauth/token"))
    {
        var base64authorization = Convert.ToBase64String(Encoding.ASCII.GetBytes("{client_id}:{client_secret}"));
        request.Headers.TryAddWithoutValidation("Authorization", $"Basic {base64authorization}");

        request.Content = new StringContent("grant_type=client_credentials", Encoding.UTF8, "application/x-www-form-urlencoded");

        var response = System.Threading.Tasks.Task.Run(()=>httpClient.SendAsync(request)).Result;

        test = response.RequestMessage.Headers.Authorization.Parameter;
    }

    using (var request = new HttpRequestMessage(new HttpMethod("GET"), "https://eu.api.blizzard.com/data/wow/token/?namespace=dynamic-eu"))
    {
        request.Headers.TryAddWithoutValidation("Authorization", "Bearer "+ test);

        var response = System.Threading.Tasks.Task.Run(() => httpClient.SendAsync(request)).Result;
    }
}

Первая часть, чтобы получить параметр Авторизации, работает.Но если я попробую запрос, я получу ошибку «401 Unauthorized».

1 Ответ

0 голосов
/ 19 февраля 2019

Понял.Извините, что нашли время.Я забыл прочитать содержимое и есть access_token.Просто добавили эту строку:

test = System.Threading.Tasks.Task.Run (() => response.Content.ReadAsStringAsync ()). Result;

После первого запроса и сейчасоно работает.Спасибо всем за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...