J'essaie d'obtenir une liste de tous mes amis Facebook, qui utilisez l'application, je reçois la liste de tous les amis, mais comment filtrer tous les amis qui utilisent l'application? merci. p> p>
5 Réponses :
Vous pouvez le faire avec FQL. Il donnera directement la liste d'amis qui utilisent une application.
SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = ?) AND is_app_user = 1
C'est la façon dont il fonctionne avec iOS5 +
FBRequest* friendsRequest = [FBRequest requestWithGraphPath:@"me/friends?fields=installed" parameters:nil HTTPMethod:@"GET"];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
NSDictionary* result,
NSError *error) {
NSArray* friends = [result objectForKey:@"data"];
NSLog(@"Found: %i friends", friends.count);
for (NSDictionary<FBGraphUser>* friend in friends) {
NSLog(@"I have a friend named %@ with id %@", friend.name, friend.id);
}
NSArray *friendIDs = [friends collect:^id(NSDictionary<FBGraphUser>* friend) {
return friend.id;
}];
}];
Voici comment j'ai fait sur ma dernière application. Vous pouvez le tester sur développeurs.facebook.com/tools/explorer
Ceci peut être utilisé pour la dernière API Facebook 3.2,
[FBRequestConnection startForMyFriendsWithCompletionHandler:
^(FBRequestConnection *connection, id<FBGraphUser> friends, NSError *error)
{
if(!error){
NSLog(@"results = %@", friends);
}
}
];
"is_app_user" que vous devez vérifier.
devrait être fermé car Facebook a changé la façon dont vous pouvez accéder à la liste des amis. Maintenant, tout ce que vous pouvez accéder aux utilisateurs d'applications. P>
Peut-être lié à Stackoverflow.com/Questtions/2785093 / ...