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 / ...