在 Swift 中使用 Google 日历 API

Using Google Calendar API in Swift

我仔细阅读了 google 提供的 iOS Quickstart Guide,发现它已经过时很长时间了。

所以我研究了一整天,想知道它现在应该如何工作,但我没有找到一个可行的解决方案/关于如何做到这一点的描述。

我有一个带日历的 iOS 应用程序。用户可以决定应该使用哪个日历来同步应用程序和日历之间的日历事件。 Google 应该支持日历和 Apple 日历。 Apple 日历同步工作正常。对于 Google 日历,我还找不到任何解决方案。 google 日历的用户应该可以将所有事件与我们的 iOS 应用同步(包括添加、删除和更改事件)。

是否有任何未过时且描述如何操作的资源?

Google 在 Github 上有一个示例应用:https://github.com/google/google-api-objectivec-client-for-rest

如果您深入了解该应用程序,可以找到创建活动的 Objective-C 示例,它也应该为您提供 Swift 的良好起点:

- (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];
     }
   }];
}

此外,您还可以使用 EventKit 并让用户在他们认为合适的时候同步他们的日历,如下所述:ios Add Event to google calendar