iOS Facebook SDK FBRequest requestForMyFriends仅返回测试帐户

时间:2014-11-03 18:37:57

标签: xcode6 facebook-sdk-3.1

我正在尝试让所有使用我的应用的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)
                                           }];
                                      }]; 

1 个答案:

答案 0 :(得分:0)

在最新的Facebook SDK中,您可以获取正在使用该应用的朋友列表。欲了解更多信息,请参阅以下链接 - https://developers.facebook.com/docs/facebook-login/permissions/v2.2#reference-friends