Я пытаюсь получить список «taggable_friends» из Facebook, где может быть более 1000 знакомых друг другу друзей, поэтому Facebook разбивает страницы на результаты. Вот этот метод.iOS: fetch Друзья Facebook с разбивкой по страницам, используя 'next'
-(void)getsFbTaggableFriends:(NSString *)nextCursor dicFBFriends:(NSMutableArray *) dicFriends failure:(void (^) (NSError *error))failureHandler
{
NSString *qry = @"/me/taggable_friends";
NSMutableDictionary *parameters;
if (nextCursor == nil) {
parameters = nil;
}
else {
parameters = [[NSMutableDictionary alloc] init];
[parameters setValue:nextCursor forKey:@"next"];
}
[FBRequestConnection startWithGraphPath:qry
parameters:parameters
HTTPMethod:@"GET"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
) {
if (error) {
NSLog(@"%@", [error localizedDescription]);
}else {
/* handle the result */
NSMutableDictionary *mDicResult = [[NSMutableDictionary alloc]initWithDictionary:result];
for (NSDictionary * fbItem in [mDicResult valueForKey:@"data"])
{
[dicFriends addObject:fbItem];
}
// if 'next' value is found, then call recursively
if ([[mDicResult valueForKey:@"paging"] objectForKey:@"next"] != nil) {
NSString *nextCursor = mDicResult[@"paging"][@"next"];
NSLog(@"next:%@", [nextCursor substringFromIndex:27]);
[self getsFbTaggableFriends:nextCursor dicFBFriends:dicFriends failure:^(NSError *error) {
failureHandler(error);
}];
}
}
}];
}
Проблема: я получаю первые 1000 записей в «результате» объект и значение «следующего» ключ передается в качестве параметра «параметров» для рекурсивного вызова. Однако вторая итерация не разбивается на страницы. & продолжает возвращать одни и те же 1000 записей.
Я также попытался использовать значение nextCursor
как параметр startWithGraphPath
для второго вызова. Результатом был другой объект ответа с такими ключами, как og_object
, share
, id
вместо data
& paging
.
Пожалуйста, помогите правильно найти знакомых с тегами страниц за страницей, если в объекте ответа присутствует «следующее». Спасибо.
Документация по API facebook для IOS SDK Говорится ли что-то о том, как справиться с разбиением на страницы? И это SDK 3.x или 4.x? – auspicious99
Мы используем 3.x. – chit