public PostResponseData CreateEvent(GoogleCalendarPostContentData contentData) { var client = new RestClient(CalendarUrl); var request = new RestRequest($"/v3/calendars/{contentData.CalendarId}/events", Method.POST); request.AddHeader("Authorization", $"Bearer {contentData.AccessToken}"); request.AddJsonBody( new { start = new { dateTime = contentData.Start }, end = new { dateTime = contentData.End }, summary = contentData.Summary, description = contentData.Description, location = contentData.Location, organizer = contentData.Organizer }); var response = client.Execute(request); var queryString = JObject.Parse(response.Content); if (response.IsSuccessful) { // TODO Popular com as informações para salvar no banco // (string)JObject.Parse(response.Content)["id"] return(new PostResponseData()); } throw new CouldNotConnectException( $"Error while connecting to Google Api when creating new event. Google Calendar EndPoint: {AuthUrl}/v3/calendars/{contentData.CalendarId}/events.\n {response.Content}", response.StatusCode); }
public ActionResult <PostResponseData> Post([FromBody] GoogleCalendarPostContentData content) { return(Calendar.CreateEvent(content)); }