Meekan 是一个帮助人们安排会议的平台。
我们的 API 可以帮助开发者集成日历事件创建和修改、可用性查找和时间建议。
platform :ios, '7.0'
pod 'MeekanSDK', '~> 1.0'
使用您的 API 密钥初始化一个共享的 MeekanSDK
实例
MeekanSDK *sdk =[MeekanSDK sharedInstanceWithApiKey:@"YOUR_API_KEY_HERE"];
您必须以 Meekan 用户身份登录才能在后台执行操作。
目前公开了两种登录选项 - 通过 Google OAuth2 或直接登录到交易所账户。
一旦连接,您将获得一个对象,描述您的用户和账户。当前用户可以连接多个账户,但需要再次使用 "connect" 方法。
MKNGoogleLoginViewController *viewController = [sdk connectWithGoogleWithCompletionHandler:^(MKNGoogleLoginViewController *vc, ConnectedUser *user, NSError *error) {
if (user) {
// Save current user and accounts
NSLog(@"User primary Email: %@", user.primaryEmail);
} else {
//
}
}];
[self.navigationController pushViewController:viewController animated:YES];
[self.sdk connectWithExchangeUser:accountParams[@"username"] withPassword:accountParams[@"password"] withEmail:accountParams[@"email"] withServerUrl:accountParams[@"url"] andDomain:accountParams[@"domain"] onSuccess:^(ConnectedUser *user) {
// Save connected user account details.
} onError:^(NSError *err) {
// Handle bad authentication details, retry
}];
可用性查找允许您使用 Meekan 的调度引擎查找会议的建议时间。您通过提供会议的时间范围以及参与者的账户 ID 来使用它。操作将返回基于可用性的排序时间槽。
SlotSuggestionsRequest *request = [[SlotSuggestionsRequest alloc]init];
request.organizerAccountId = @"YOUR_ACCOUNT_ID";
request.duration = 45; // Minutes
NSDate *now = [NSDate dateWithTimeIntervalSince1970:trunc([[NSDate date] timeIntervalSince1970])];
NSDate *inTwoHours = [now dateByAddingTimeInterval:120 * 60];
NSDate *inThreeHours = [now dateByAddingTimeInterval:180 * 60];
NSDate *inFourHours = [now dateByAddingTimeInterval:240 * 60];
request.timeFrameRanges = @[ @[now, inTwoHours],
@[inThreeHours, inFourHours];
[self.sdk suggestedSlots:request onSuccess:^(NSArray *slotSuggestions) {
for (SlotSuggestion *suggestion in slotSuggestions) {
NSLog(@"Start: %@, Unavailable: %@", suggestion.start, suggestion.busyIds);
}
NSSet *times = [NSSet setWithArray:[slotSuggestions valueForKey:@"start"]];
} onError:^(NSError *err) {
NSLog(@"Oops: %@", err);
}];
MeetingDetails
实例包含要创建的会议的相关信息。
MeetingDetails *details = [[MeetingDetails alloc]init];
details.accountId = @"4785074604081152";
details.title = @"Test Multiple";
details.durationInMinutes = 10;
NSDate *start = [NSDate dateWithTimeIntervalSince1970:1409477400];
NSSet *options = [NSSet setWithObjects:
[start dateByAddingTimeInterval:3600],
[start dateByAddingTimeInterval:7200],
[start dateByAddingTimeInterval:10800], nil];
details.options = options;
details.participants = [[MeetingParticipants alloc]init];
[self.sdk createMeeting:details onSuccess:^(MeetingServerResponse *details) {
NSLog(@"Created Meeting with ID: %@"details.meetingId);
} onError:^(NSError *err) {
// Handle error
}];
MeekanSDK
类目前包含所有封装方法。查看公开的操作。
我们非常乐意听取您的反馈。请在这里发送问题或拉取请求,或通过以下电子邮件联系我们:[email protected]。