Getting Authentication


Static Host Value

    
            static string _host = "https://astuteincservices.com";
        
    

C# HTTP

        
            public static string GetAuthentication()
            {
                var route = "/api/login";
                var apiClient = new HttpClient();

                var data = new Login()
                {
                    ClientID = "AST",
                    Secret = "FuBar",
                    UserName = "admin"
                };

                var json = JsonConvert.SerializeObject(data);
                var strContent = new StringContent(json, UnicodeEncoding.UTF8, "application/json");

                var response = apiClient.PostAsync(_host + route, strContent).Result;

                var returnContent = response.Content.ReadAsStringAsync().Result;
                return JsonConvert.DeserializeObject<AuthenticateResult>(returnContent).Result;
            }

            static void ProcessReadings(string content)
            {
                var returnReadings = JsonConvert.DeserializeObject<List<AstuteHub>>(content);

                foreach (var readings in returnReadings)
                {
                    Console.WriteLine("-------------------");
                    Console.WriteLine(readings.HubId);             // Hub ID
                    Console.WriteLine(readings.GatewayTimestamp);  // Reading Date
                    Console.WriteLine(readings.Reading);           // Device Reading
                }
            }
        
    

C# Flurl

        
            static void FlurlGetRecentReadings(string token)
            {
                var newData = new Login()
                {
                   ClientID = "AST",
                   Secret = "FuBar",
                   UserName = "admin"
                };

                var response = _host.AppendPathSegment("/api/readings/getrecent").WithOAuthBearerToken(token).PostJsonAsync(newData).Result;

                if (response.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    ProcessReadings(response.Content.ReadAsStringAsync().Result);
                }
                else
                    Console.WriteLine("Not authorized");
            }

            static void ProcessReadings(string content)
            {
                var returnReadings = JsonConvert.DeserializeObject<List<AstuteHub>>(content);

                foreach (var readings in returnReadings)
                {
                    Console.WriteLine("-------------------");
                    Console.WriteLine(readings.HubId);             // Hub ID
                    Console.WriteLine(readings.GatewayTimestamp);  // Reading Date
                    Console.WriteLine(readings.Reading);           // Device Reading
                }
            }