想要在Google日历中添加活动

我想插入事件在谷歌日历没有使用任何第三方。 如果有人知道,请帮助我。 提前致谢。

你想在谷歌日历中发布或插入一些事件,那么你可以使用以下方法:

使用https POST请求,并使用url进行NSURLSession请求

https://www.googleapis.com/calendar/v3/calendars/calendarId/events 

事件之后,添加您的数据。

如果你想在特定的时间插入一个事件 ,那么你的请求应该是这样的。

 POST https://www.googleapis.com/calendar/v3/calendars/primary/events?key={YOUR_API_KEY} { "end": { "dateTime": "2016-10-08T8:00:00", "timeZone": "Asia/Manila" }, "start": { "dateTime": "2016-10-08T6:00:00", "timeZone": "Asia/Manila" } } 

您需要在请求中指定start.dateTimeend.dateTime

也包括你想要使用的时区。 此API需要IANA时区格式,您可以在此链接中看到。

你想要在谷歌日历中添加一些事件,以及您可以通过以下谷歌API库来做到这一点:我使用下面的库发布事件到谷歌日历。

 https://github.com/google/google-api-objectivec-client-for-rest 

他们给简短的描述添加事件到谷歌日历与代码。 #pragma标记添加,编辑和删除事件

 - (void)addAnEvent { // Make a new event, and show it to the user to edit GTLRCalendar_Event *newEvent = [GTLRCalendar_Event object]; newEvent.summary = @"Sample Added Event"; newEvent.descriptionProperty = @"Description of sample added event"; // We'll set the start time to now, and the end time to an hour from now, // with a reminder 10 minutes before NSDate *anHourFromNow = [NSDate dateWithTimeIntervalSinceNow:(60 * 60)]; // Include an offset minutes that tells Google Calendar that these dates // are for the local time zone. NSInteger offsetMinutes = [NSTimeZone localTimeZone].secondsFromGMT / 60; GTLRDateTime *startDateTime = [GTLRDateTime dateTimeWithDate:[NSDate date]offsetMinutes:offsetMinutes]; GTLRDateTime *endDateTime = [GTLRDateTime dateTimeWithDate:anHourFromNow offsetMinutes:offsetMinutes]; newEvent.start = [GTLRCalendar_EventDateTime object]; newEvent.start.dateTime = startDateTime; newEvent.end = [GTLRCalendar_EventDateTime object]; newEvent.end.dateTime = endDateTime; GTLRCalendar_EventReminder *reminder = [GTLRCalendar_EventReminder object]; reminder.minutes = @10; reminder.method = @"email"; newEvent.reminders = [GTLRCalendar_Event_Reminders object]; newEvent.reminders.overrides = @[ reminder ]; newEvent.reminders.useDefault = @NO; [self addEvent:event];} - (void)addEvent:(GTLRCalendar_Event *)event { GTLRCalendarService *service = self.calendarService; GTLRCalendar_CalendarListEntry *selectedCalendar = [self selectedCalendarListEntry]; NSString *calendarID = selectedCalendar.identifier; GTLRCalendarQuery_EventsInsert *query = [GTLRCalendarQuery_EventsInsert queryWithObject:event calendarId:calendarID]; self.editEventTicket = [service executeQuery:query completionHandler:^(GTLRServiceTicket *callbackTicket, GTLRCalendar_Event *event, NSError *callbackError) { // Callback self.editEventTicket = nil; if (callbackError == nil) { [self displayAlert:@"Event Added" format:@"Added event \"%@\"", event.summary]; [self fetchSelectedCalendar]; } else { [self displayAlert:@"Add failed" format:@"Event add failed: %@", callbackError]; } }]; } - (void)editSelectedEvent { // Show the selected event to the user to edit GTLRCalendar_Event *eventToEdit = [self selectedEvent]; if (eventToEdit) { EditEventWindowController *controller = [[EditEventWindowController alloc] init]; [controller runModalForWindow:self.window event:eventToEdit completionHandler:^(NSInteger returnCode, GTLRCalendar_Event *event) { // Callback if (returnCode == NSModalResponseOK) { [self editSelectedEventWithEvent:event]; } }]; } }