我正在尝试让所有使用我的应用的Facebook好友。 这是我的代码:
FBRequest* friendsRequest = [FBRequest requestForMyFriends];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
NSDictionary* result,
NSError *error) {
NSArray* friends = [result objectForKey:@"data"];
NSLog(@"Found: %i friends", friends.count);
_fbIDsArray = NSMutableArray.array;
for (NSDictionary<FBGraphUser>* friend in friends) {
NSLog(@"I have a friend named %@ with id %@", friend.name, friend.objectID);
[_fbIDsArray addObject:friend.objectID];
}
当我与Facebook测试用户合作时,它会返回朋友,但当我尝试找到真实帐户的朋友时,它会返回nil。 Facebook上的应用程序状态是公开的。 我正在使用Facebook SDK 3.20
更新
这对我有用
FBLoginView * loginView = [[FBLoginView alloc] initWithReadPermissions:@[@"public_profile", @"email", @"user_friends"]];
loginView.delegate = self;
NSArray *permissions = @[@"public_profile", @"email", @"user_friends"];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[[FBRequest requestForMe] startWithCompletionHandler:
^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *user,
NSError *error)
}];
}];
答案 0 :(得分:0)
在最新的Facebook SDK中,您可以获取正在使用该应用的朋友列表。欲了解更多信息,请参阅以下链接 - https://developers.facebook.com/docs/facebook-login/permissions/v2.2#reference-friends