如何通过O365-iOS-Connect获取/创建日历?

时间:2016-02-04 03:29:04

标签: ios outlook calendar ms-office office365

我使用O365-iOS-Connect对iOS应用进行编码,以将我的应用连接到Office 365.我的应用可以登录到365帐户。但我找不到一些文档如何获取/创建日历。

O365-iOS-Connect

谢谢,抱歉我的英语不好。

2 个答案:

答案 0 :(得分:1)

在iOS中获取Outlook日历的步骤如下:

我使用 MSGraph SDK & Azure AD v2.0端点(用于个人登录)

注意:您必须知道如何安装pod并查看此链接以获取详细信息:https://graph.microsoft.io/en-us/

步骤:

  1. 在Microsoft应用程序注册门户上注册您的iOS应用程序,它将为您提供客户端ID

  2. 安装以下pod:

     pod 'MSGraphSDK-NXOAuth2Adapter'
    
     pod 'MSGraphSDK'
    
  3. 转到ViewController并定义:

    @property (strong, nonatomic) MSGraphClient *client;
    
    NSString *clientId = @"<you_clientId>"; // GLOBAL to the class
    
  4. 现在将这些文件导入为:

    #import <MSGraphSDK/MSGraphSDK.h>
    
    #import <MSGraphSDK-NXOAuth2Adapter/MSGraphSDKNXOAuth2.h>
    

    5.在您的按钮上单击:首先,您已使用您的客户端ID并在范围内定义您的权限:

    [NXOAuth2AuthenticationProvider setClientId:clientId
                                     scopes:@[@"https://graph.microsoft.com/Files.ReadWrite",
                                              @"https://graph.microsoft.com/Calendars.ReadWrite"]];
    
  5. 现在您必须使用您的登录详细信息进行身份验证,并自动打开Microsoft登录屏幕:

    [[NXOAuth2AuthenticationProvider sharedAuthProvider] loginWithViewController:nil completion:^(NSError *error) {
    if (!error) {
        [MSGraphClient setAuthenticationProvider:[NXOAuth2AuthenticationProvider sharedAuthProvider]];
        self.client = [MSGraphClient client];
        //Authenticated successfully
    }  }];
    
  6. 如果没有错误,则错误为零,并且将成功登录。

    1. 现在我们可以使用 MSGraphClient 用于日历列表来使用不同的API:

      [[[[self.client me] calendars] request] getWithCompletion:^(MSCollection *response, MSGraphUserCalendarsCollectionRequest *nextRequest, NSError *error) {
      
             NSArray *calendars = response.value;
            // Here we are getting calendars
         }];
      
    2. 现在,让日历按钮操作如下所示:

      - (IBAction)getCalendars:(id)sender {
      
      [NXOAuth2AuthenticationProvider setClientId:clientId
                                           scopes:@[@"https://graph.microsoft.com/Files.ReadWrite",
                                                 @"https://graph.microsoft.com/Calendars.ReadWrite"]];
      
      [[NXOAuth2AuthenticationProvider sharedAuthProvider] loginWithViewController:nil completion:^(NSError *error) {
      if (!error) {
          [MSGraphClient setAuthenticationProvider:[NXOAuth2AuthenticationProvider sharedAuthProvider]];
          self.client = [MSGraphClient client];
      
      
          [[[[self.client me] calendars] request] getWithCompletion:^(MSCollection *response, MSGraphUserCalendarsCollectionRequest *nextRequest, NSError *error) {
      
              NSArray *calendars = response.value;
             // Here we are getting calendars
          }];
      } }]; 
      }
      

答案 1 :(得分:0)

我们的GitHub代码示例中有两个选项可能会有所帮助。

一个名为O365-iOS-片段:https://github.com/OfficeDev/O365-iOS-Snippets。 O365 iOS Snippets项目向您展示如何对Office 365中的日历,联系人,邮件和文件服务端点执行基本操作。

对于Microsoft Graph,我们还为此创建了一个iOS代码段项目 - https://github.com/OfficeDev/O365-iOS-Microsoft-Graph-Snippets。此示例演示如何使用Microsoft Graph发送电子邮件,管理组以及使用Office 365数据执行其他活动。

希望这有帮助!

Freya H,The Office Newsroom