如何在iOS中的Google日历中添加用户事件

时间:2016-05-13 06:34:54

标签: ios objective-c google-calendar-api

我正在将Google日历集成到我的应用程序中。它已成功集成,现在我想将用户事件添加到Google日历中。如果我在Google日历中添加用户事件,则该事件应反映在jSon响应中。

我在json响应中获取用户事件时遇到问题。

-(void)updateCalendar    
{    
    //NSString *calendarId = @"XXXX-fr62agepgso9n50s9nhv7c2g27inhqg6.apps.googleusercontent.com";        
    NSString *calendarId =  @"47ou48fasc70l0758i9lh76sr8@group.calendar.google.com";        
    NSString *apiKey = @"XXX";        
    NSString *urlFormat = @"https://www.googleapis.com/calendar/v3/calendars/%@/events?key=%@&fields=items(id,start,summary,status)";        
    NSString *calendarUrl = [NSString stringWithFormat:urlFormat, calendarId, apiKey];        
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];        
    manager.responseSerializer = [AFJSONResponseSerializer serializer];        
    [manager GET:calendarUrl parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) 
    {            
    [ADManagedObjectContext updateEvents:responseObject[@"items"]];            
    [self.refreshControl endRefreshing];            
    }

    failure:^(AFHTTPRequestOperation *operation, NSError *error) {                 
    [self.refreshControl endRefreshing];                 
    }];    
}

1 个答案:

答案 0 :(得分:0)

首先从您的设备中检索所有日历。然后使用此代码

将所有日历存储在NSArray中
EKEventStore *eventStore = [[EKEventStore alloc] init]; 
caleandarsArray = [[NSArray alloc] init];

然后使用此代码

将您的活动添加到所选日历
EKCalendar *calendar = [caleandarsArray objectAtIndex:1];
[events setCalendar:calendar];
NSError *err;
[eventStore saveEvent:events span:EKSpanThisEvent error:&err];

通过使用上面的代码,我们可以将事件添加到欲望日历中。

您应该使用EventKit(https://developer.apple.com/library/ios/documentation/EventKit/Reference/EKEventClassRef/index.html)而不是使用Google API,这很简单,您可以同步到用户想要的日历。

点击此链接:http://www.macworld.com/article/2895043/hands-on-with-google-calendar-for-iphone-an-awesome-calendar-for-gmail-addicts.html