Ошибка API 401 Несанкционированный Laravel C Sharp - PullRequest
0 голосов
/ 25 марта 2019

Я разрабатываю приложение с использованием C #, которое вызывает RESTApi de laravel.Через Почтальон он работает правильно, но вместо C # no он возвращает ошибку 401.

Если я удалю следующее, если в контроллере Laravel все работает нормально:

if ($ request-> isJson)()) {

Тип содержимого заголовка установлен на application / json

Код Laravel

function getResult(Request $request, $id)
    {
        if ($request->isJson()) {
            // Eloquent
            $times = Result::selectRaw('THE SELECT')
                ->where('ID', $Id)
                ->get();
                $result = [];
                foreach($times as $key => $time)
                {
                 ...........
                }
                sort($result);
            return response()->json(['results'=>$result], 200);
        }

        return response()->json(['error' => 'Unauthorized'], 401, []);
    }

C #

public static async Task<dynamic> GETTimes(int eventID, int stageID)
        {
            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(baseUrl);
                client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json");
                client.DefaultRequestHeaders.TryAddWithoutValidation("cache-control", "no-cache");
                client.DefaultRequestHeaders.Add("User-Agent", @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36");

                // Add the Authorization header with the AccessToken.
                //client.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

                // create the URL string.
                string url = string.Format("api/v1/events/{0}/results/{1}", eventID, stageID);

                // make the request
                HttpResponseMessage response = await client.GetAsync(url);

                // parse the response and return the data.
                string jsonString = await response.Content.ReadAsStringAsync();
                object responseData = JsonConvert.DeserializeObject(jsonString);

                return (dynamic)responseData;
            }
        }
...