2015-02-11 91 views
0

我已添加公告应用程序并向其中添加了一些项目,现在我想从我的公告列表中获取项目,因此我已使用以下代码Office 365 iOS:无法从Office 365 SDK获取列表项

token_Obtained_During_first_time_Login:这是当我使用ADAuthenticationContext

- (void)getClientList { 

NSString *appToken = [[NSUserDefaults standardUserDefaults] 
valueForKey:@"token_Obtained_During_first_time_Login"]; 
NSString* hostName = @"https://myTenant.sharepoint.com/sites/myApp"; 


OAuthentication *credentials = [[OAuthentication alloc] initWith:appToken]; 
ListClient *client = [[ListClient alloc] 
        initWithUrl:hostName 
        credentials:credentials]; 

NSURLSessionTask* task = [client getListItems:@"MyAnnouncements" 
callback:^(NSMutableArray *listItems, NSError *error) { 
    if (error==nil) { 
    NSLog(@"%@",listItems); 
    } 
}]; 

[task resume]; 

} 

的acquireTokenWithResource方法我甚至已经调试了365码的第一次登录,我得到令牌,它为我提供了以下网址FO [R getListItems:回调方法

https://myTenant.sharepoint.com/sites/myApp/_api/lists/GetByTitle('MyAnnouncements')/Items 

我甚至试过附带的示例代码

- (void)getAnnouncementList:(void (^)(ListClient *))callback{ 
NSString* hostName = @"https://myTenant.sharepoint.com"; 

[self getTokenWith:hostName :true completionHandler:^(NSString *token) { 
OAuthentication *credentials = [[OAuthentication alloc] initWith:token]; 

callback([[ListClient alloc]initWithUrl:hostName credentials:credentials]); 
}]; 
} 

但仍没有运气我得到的名单作为零

请指导同样采用getTokenWith方法关于如何解决这个问题,我甚至已经验证了Azure Directory中的权限,一切似乎都很好,能够获取一个驱动器,邮件和日历的数据,但列表是我卡住的地方。

每次我打电话给上面的代码,我得到的回复无法确定错过了什么,我的猜测是令牌。

+0

initWithUrl:@“https://yoursharepoint-my.sharepoint.com/personal/user_contoso_com” credentials:credentials]; 如何在没有硬编码数据的情况下为每个帐户自动获取此链接? – 2015-09-15 07:18:59

回答

1

我借在apiUrl目前在职的ListClient.m文件进行更改,解决了这个问题,365

我所做的只是将其改为

const NSString *apiUrl = @"/sites/mobileApp/_api/web/Lists"; 

进行上述更改做了技巧,现在我可以访问所有的列表数据。