Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to Create events using Google Calendar API iOS Swift

I want to develop one demo app which will create events using my Application, store it using Google Calendar API and then fetch all the data and gives reminder. I have referred this link to fetch data and for setup, but I am not getting how to create events. Can anyone guide me how can I do this? I searched a lot for creating events using iOS, but I don't get anything useful for Google Calendar API, I found all the stuff using EventKit framework.

Please help me. Thank You.

like image 747
Riddhi Shah Avatar asked Dec 12 '25 21:12

Riddhi Shah


1 Answers

I've found a tutorial: "iOS SDK: Working with Google Calendars", in this tutorial they provide insights on downloading the calendars, and creating a new event with a description and a date/time.

Regarding our app structure, the basic view is going to be a table view that will contain three sections for setting the following data:

  • An event description
  • An event date/time
  • A target calendar

A code example for adding event(Objective C):

// Create the URL string of API needed to quick-add the event into the Google calendar.
// Note that we specify the id of the selected calendar.
NSString *apiURLString = [NSString stringWithFormat:@"https://www.googleapis.com/calendar/v3/calendars/%@/events/quickAdd",
                          [_dictCurrentCalendar objectForKey:@"id"]];

// Build the event text string, composed by the event description and the date (and time) that should happen.
// Break the selected date into its components.
NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
dateComponents = [[NSCalendar currentCalendar] components:NSDayCalendarUnit|NSMonthCalendarUnit|NSYearCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit
                                                 fromDate:_dtEvent];

if (_isFullDayEvent) {
    // If a full-day event was selected (meaning without specific time), then add at the end of the string just the date.
    _strEventTextToPost = [NSString stringWithFormat:@"%@ %d/%d/%d", _strEvent, [dateComponents month], [dateComponents day], [dateComponents year]];
}
else{
    // Otherwise, append both the date and the time that the event should happen.
    _strEventTextToPost = [NSString stringWithFormat:@"%@ %d/%d/%d at %d.%d", _strEvent, [dateComponents month], [dateComponents day], [dateComponents year], [dateComponents hour], [dateComponents minute]];
}

// Show the activity indicator view.
[self showOrHideActivityIndicatorView];

// Call the API and post the event on the selected Google calendar.
// Visit https://developers.google.com/google-apps/calendar/v3/reference/events/quickAdd for more information about the quick-add event API call.
[_googleOAuth callAPI:apiURLString
       withHttpMethod:httpMethod_POST
   postParameterNames:[NSArray arrayWithObjects:@"calendarId", @"text", nil]
  postParameterValues:[NSArray arrayWithObjects:[_dictCurrentCalendar objectForKey:@"id"], _strEventTextToPost, nil]];

I think you can implement this from what you have started in the iOS Quickstart Google.

I hope this helps. Goodluck :)

like image 191
Mr.Rebot Avatar answered Dec 15 '25 13:12

Mr.Rebot



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!