private async Task <CalendarStatus> GetRawEvents() { //Call Google Calendar API var yesterdayDateTime = DateTime.Now.Date;//DateTime.Now.AddDays(-1); var minDateString = yesterdayDateTime.ToString("O"); var currentCalendar = new CalendarStatus(); using (var httpRequest = new Windows.Web.Http.HttpRequestMessage()) { var client = new Windows.Web.Http.HttpClient(); string calendarAPI = $"https://www.googleapis.com/calendar/v3/calendars/[email protected]/events?timeMin={minDateString}"; httpRequest.Method = Windows.Web.Http.HttpMethod.Get; httpRequest.RequestUri = new Uri(calendarAPI); httpRequest.Headers.Authorization = new Windows.Web.Http.Headers.HttpCredentialsHeaderValue("Bearer", this.accessToken); var response = await client.SendRequestAsync(httpRequest); if (response.IsSuccessStatusCode) { var listString = await response.Content.ReadAsStringAsync(); currentCalendar.AddRawCalendarItems(listString, "personal"); } else { var errorRaw = await response.Content.ReadAsStringAsync(); dynamic jsonObject = Newtonsoft.Json.JsonConvert.DeserializeObject(errorRaw); dynamic error = jsonObject.error; dynamic errors = error.errors; dynamic firstItem = errors[0]; dynamic reasonObject = firstItem.reason; string reason = reasonObject.Value; if (reason == "authError") { throw new Exception(); } } } using (var httpRequest = new Windows.Web.Http.HttpRequestMessage()) { var client = new Windows.Web.Http.HttpClient(); string holydayCalendarAPI = $"https://www.googleapis.com/calendar/v3/calendars/{this.holydaysCalendarId}/events?timeMin={minDateString}"; httpRequest.Method = Windows.Web.Http.HttpMethod.Get; httpRequest.RequestUri = new Uri(holydayCalendarAPI); httpRequest.Headers.Authorization = new Windows.Web.Http.Headers.HttpCredentialsHeaderValue("Bearer", this.accessToken); var holidayresponse = await client.SendRequestAsync(httpRequest); if (holidayresponse.IsSuccessStatusCode) { var listString = await holidayresponse.Content.ReadAsStringAsync(); currentCalendar.AddRawCalendarItems(listString, "public"); } else { var errorRaw = await holidayresponse.Content.ReadAsStringAsync(); dynamic jsonObject = Newtonsoft.Json.JsonConvert.DeserializeObject(errorRaw); dynamic error = jsonObject.error; dynamic errors = error.errors; dynamic firstItem = errors[0]; dynamic reasonObject = firstItem.reason; string reason = reasonObject.Value; if (reason == "authError") { throw new Exception(); } } } return(currentCalendar); }