How to Create events using Google Calendar API iOS Swift

一曲冷凌霜 提交于 2020-01-24 10:36:11

问题


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.


回答1:


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 :)




回答2:


first you have to create a public API and get is key. and set its url using the following code

let url = NSURL(string: "https://www.googleapis.com/calendar/v3/calendars/email.gmail.com/events?maxResults=15&key=APIKey-here")

It works for you



来源:https://stackoverflow.com/questions/37021432/how-to-create-events-using-google-calendar-api-ios-swift

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!