iOS Facebook SDK FBRequest请求MyFriends只返回测试帐户



我正在尝试获取所有使用我的应用程序的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测试用户合作时,它会返回朋友,但当我试图用真实帐户查找朋友时,它不会返回。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)
                                           }];
                                      }]; 
     

在最新的Facebook SDK中,您可以获得使用该应用程序的此类朋友的列表。有关更多信息,请参阅以下链接-https://developers.facebook.com/docs/facebook-login/permissions/v2.2#reference-朋友

最新更新