public async Task <FitnessResponse> ReceiveRequest(string url) { var response = new FitnessResponse(); HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(new Uri(url)); httpRequest.ContentType = "application/json"; httpRequest.Method = "GET"; try { using (WebResponse httpResponse = await httpRequest.GetResponseAsync()) { if (httpResponse != null) { response.Status = ((HttpWebResponse)httpResponse).StatusCode; Stream stream = httpResponse.GetResponseStream(); using (StreamReader streamReader = new StreamReader(stream)) { response.Content = await streamReader.ReadToEndAsync(); } } } } catch (WebException ex) { if (ex.Response != null) { using (WebResponse httpResponse = ex.Response) { response.Status = ((HttpWebResponse)httpResponse).StatusCode; Stream stream = httpResponse.GetResponseStream(); using (StreamReader streamReader = new StreamReader(stream)) { response.Content = await streamReader.ReadToEndAsync(); } } } else { response.Status = HttpStatusCode.BadRequest; return(response); } } return(response); }
public async Task <Athlete> GetAthlete() { var athlete = new Athlete(); string url = "https://www.strava.com/api/v3/athlete?access_token="; FitnessResponse response = await _webService.ReceiveRequest(url + Settings.AccessToken); if (response.Status == System.Net.HttpStatusCode.OK && !string.IsNullOrEmpty(response.Content)) { return(JsonConvert.DeserializeObject <Athlete>(response.Content)); } else { return(athlete); } }
public async Task <List <Activity> > GetLastTenDayActivities(string authenticationToken) { var activities = new List <Activity>(); string url = "https://www.strava.com/api/v3/athlete/activities?include_all_efforts=true&access_token="; FitnessResponse response = await _webService.ReceiveRequest( url + authenticationToken + "&after=" + ConvertToUnixTimestamp(DateTime.Now.AddDays(-10).Date)); if (response.Status == System.Net.HttpStatusCode.OK && !string.IsNullOrEmpty(response.Content)) { return(JsonConvert.DeserializeObject <List <Activity> >(response.Content)); } else { return(activities); } }
public async Task <MyFitness.Model.Strava.Stream[]> GetActivityStream(int activityId, StreamType type) { Stream[] s = new Stream[] { new Stream() }; string url = "https://www.strava.com/api/v3/activities/"; FitnessResponse response = await _webService.ReceiveRequest( url + activityId + "/streams/" + Enum.GetName(typeof(StreamType), type) + "?access_token=" + Settings.AccessToken); if (response.Status == System.Net.HttpStatusCode.OK && !string.IsNullOrEmpty(response.Content)) { return(JsonConvert.DeserializeObject <Stream[]>(response.Content)); } else { return(s); } }