我使用O365-iOS-Connect
对iOS应用进行编码,以将我的应用连接到Office 365.我的应用可以登录到365帐户。但我找不到一些文档如何获取/创建日历。
谢谢,抱歉我的英语不好。
答案 0 :(得分:1)
在iOS中获取Outlook日历的步骤如下:
我使用 MSGraph SDK & Azure AD v2.0端点(用于个人登录)
注意:您必须知道如何安装pod并查看此链接以获取详细信息:https://graph.microsoft.io/en-us/
步骤:
在Microsoft应用程序注册门户上注册您的iOS应用程序,它将为您提供客户端ID
安装以下pod:
pod 'MSGraphSDK-NXOAuth2Adapter'
pod 'MSGraphSDK'
转到ViewController并定义:
@property (strong, nonatomic) MSGraphClient *client;
NSString *clientId = @"<you_clientId>"; // GLOBAL to the class
现在将这些文件导入为:
#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"]];
现在您必须使用您的登录详细信息进行身份验证,并自动打开Microsoft登录屏幕:
[[NXOAuth2AuthenticationProvider sharedAuthProvider] loginWithViewController:nil completion:^(NSError *error) {
if (!error) {
[MSGraphClient setAuthenticationProvider:[NXOAuth2AuthenticationProvider sharedAuthProvider]];
self.client = [MSGraphClient client];
//Authenticated successfully
} }];
如果没有错误,则错误为零,并且将成功登录。
现在我们可以使用 MSGraphClient 和用于日历列表来使用不同的API:
[[[[self.client me] calendars] request] getWithCompletion:^(MSCollection *response, MSGraphUserCalendarsCollectionRequest *nextRequest, NSError *error) {
NSArray *calendars = response.value;
// Here we are getting calendars
}];
现在,让日历按钮操作如下所示:
- (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