MeekanSDK 1.0.4

MeekanSDK 1.0.4

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年2月

Meekan APIEyal Yavor 维护。



MeekanSDK 1.0.4

  • 作者:
  • Eyal Yavor

Meekan 是一个帮助人们安排会议的平台。

我们的 API 可以帮助开发者集成日历事件创建和修改、可用性查找和时间建议。

如何开始

  • 请求 API 密钥 - 发送电子邮件到 [email protected],告诉我们一些关于您自己的信息以及您将构建的内容。
  • 查看 沙箱 了解我们可用的 API 以及全面的入门指南。
  • 安装 SDK

Podfile

platform :ios, '7.0'
pod 'MeekanSDK', '~> 1.0'

用法

使用您的 API 密钥初始化一个共享的 MeekanSDK 实例

MeekanSDK *sdk =[MeekanSDK sharedInstanceWithApiKey:@"YOUR_API_KEY_HERE"];

登录

您必须以 Meekan 用户身份登录才能在后台执行操作。

目前公开了两种登录选项 - 通过 Google OAuth2 或直接登录到交易所账户。

一旦连接,您将获得一个对象,描述您的用户和账户。当前用户可以连接多个账户,但需要再次使用 "connect" 方法。

Google 登录

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]