2015-02-11 4 views
0

Я добавил приложение для анонса и добавил несколько элементов к нему, теперь я хочу получить элементы из своего списка объявлений, поэтому я использовал приведенный ниже кодOffice 365 iOS: не удалось получить список элементов из Office 365 SDK

token_Obtained_During_first_time_Login: Это знак того, что я получаю, когда я войти в систему в первый раз, используя метод acquireTokenWithResource из 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]; 

} 

Я даже отлаженный 365 код и он дает мне ниже URL е или getListItems: обратный вызов метода

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

Я даже попробовал тот же используя метод getTokenWith, который поставляется с кодом образца

- (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]); 
}]; 
} 

Но все-таки не повезло, я получаю список, как ноль

Пожалуйста, руководство о том, как это можно решить, я даже проверил права в Azure Directory, все, что мне кажется хорошим, может получать данные одного диска, почты и календаря, но список - это место, где я застрял.

Каждый раз, когда я вызываю приведенный выше код, я получаю ответ nil, не уверен, что я ошибаюсь, моя догадка - это токен.

+0

initWithUrl: @ "https://yoursharepoint-my.sharepoint.com/personal/user_contoso_com" учетные данные: учетные данные]; Как я могу автоматически получить эту ссылку для каждой учетной записи без данных жесткого кода? –

ответ

1

Я решил эту проблему путем внесения изменений в apiUrl присутствующие в ListClient.m файл офиса 365.

Все, что я сделал, изменили его

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

Заставить выше изменение сделало трюк, и теперь я могу получить доступ ко всем данным списка.