public async Task <AvailableTimeStampsResponse> GetAvailableTimestamps(string resolution = "3hourly") { string url = "http://datapoint.metoffice.gov.uk/public/data/val/wxfcs/all/json/capabilities?res=" + resolution + "&key=" + _apiKey; var request = (HttpWebRequest)WebRequest.Create(url); var response = (HttpWebResponse)request.GetResponse(); var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); AvailableTimeStampsResponse siteListResponse = JsonConvert.DeserializeObject <AvailableTimeStampsResponse>(responseString); return(siteListResponse); }
public async Task <AvailableTimeStampsResponse> GetAvailableTimestamps(string resolution = "3hourly") { string url = "http://datapoint.metoffice.gov.uk/public/data/val/wxfcs/all/json/capabilities?res=" + resolution + "&key=" + _apiKey; using (HttpClient client = new HttpClient()) { HttpResponseMessage response = await client.GetAsync(new Uri(url)); response.EnsureSuccessStatusCode(); AvailableTimeStampsResponse siteListResponse = JsonConvert.DeserializeObject <AvailableTimeStampsResponse>(await response.Content.ReadAsStringAsync()); return(siteListResponse); } }
static void Main(string[] args) { // Create client MetOfficeDataPointClient client = new MetOfficeDataPointClient("<API_KEY>"); // Get all sites SiteListResponse siteListResponse = client.GetAllSites().Result; // Get available forcasts AvailableTimeStampsResponse availableTimeStampsResponse = client.GetAvailableTimestamps().Result; // Get all 3 hourly forecasts ForecastResponse3Hourly forecastResponse3Hourly = client.GetForecasts3Hourly().Result; // Get daily forecasts for site 14 ForecastResponseDaily forecastResponseDaily = client.GetForecastsDaily(14).Result; // Get historical observations ForecastResponse3Hourly historicalResponse = client.GetHistoricalObservations().Result; // Get closest site GeoCoordinate coordinate = new GeoCoordinate(51.508363, -0.163006); Location location = client.GetClosestSite(coordinate).Result; }