Wypróbuj tę opcję, jeśli chcesz dostać znajomym użytkownika ze zdjęć profilowych na raz. Po pierwsze:
- (void) requestFriends:(NSNumber *) fbUserId
{
NSLog(@"requesting friends");
NSString* fql1 = [NSString stringWithFormat:
@"select uid2 from friend where uid1 = %@", fbUserId ];
NSString* fql2 = [NSString stringWithFormat:
@"select uid, name, pic_small from user where uid in (select uid2 from #queryID) order by name"];
NSString* fql = [NSString stringWithFormat:
@"{\"queryID\":\"%@\",\"queryUser\":\"%@\"}",fql1,fql2];
NSLog(fql);
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObject:fql forKey:@"queries"];
[_facebook requestWithMethodName:@"fql.multiquery" andParams:params andHttpMethod:@"GET" andDelegate:self];
}
wtedy, gdy pojawi się odpowiedź, aby go przetworzyć:
-(void) processFriends:(id) result
{
//NSLog(@"processFriends %@", result);
NSArray *queryResults = (NSArray*) result;
NSMutableDictionary *firstQuery = [queryResults objectAtIndex:0];
NSMutableDictionary *secondQuery = [queryResults objectAtIndex:1];
NSArray *resultSet1 = [firstQuery objectForKey:@"fql_result_set"];
NSString *resultName1 = [firstQuery objectForKey:@"name"];
NSArray *resultSet2 = [secondQuery objectForKey:@"fql_result_set"];
NSString *resultName2 = [secondQuery objectForKey:@"name"];
NSLog(@"%@\n\%@", resultName2, resultSet2);
}
Zasadniczo ResultSet2 jest tablicą wpisów, które zawierają po znajomego, z tych kluczy w słownikach dla każdego znajomego : - uid - nazwa - pic_small
Dlatego masz wszystko, czego potrzebujesz. Mam nadzieję, że to pomoże!
Problem rozwiązany po kolejnych poszukiwaniach. Dla każdego, kto szuka, tutaj jest odpowiedź http://stackoverflow.com/questions/6491838/retrieve-facebook-friends-list –