获取Facebook好友列表?

时间:2015-06-08 11:18:05

标签: ios

这是空数组。这是我的代码,请帮帮我 我在这里遗漏了什么吗???

 -(void)loginViewFetchedUserInfo:(FBLoginView *)loginView user:(id<FBGraphUser>)user
        {
         [FBRequestConnection startWithGraphPath:@"/me/friends"
                                             parameters:nil
                                             HTTPMethod:@"GET"
                                      completionHandler:^(
                                                          FBRequestConnection *connection,
                                                          id result,
                                                          NSError *error
                                                          ) {
                                          NSLog(@"me/friends result=%@",result);

                                          NSLog(@"me/friends error = %@", error.description);

                                          NSArray *friendList = [result objectForKey:@"data"];
                                          //[m_allFriends addObjectsFromArray: friendList];
                                      }];
        }

2 个答案:

答案 0 :(得分:2)

您无法再获得整个​​朋友列表。 现在,该列表仅限于那些也碰巧使用您的应用的朋友。

引用Facebook Graph API 2.0 doc:

  

权限

     

需要具有user_friends权限的用户访问令牌才能查看   现在这个人的朋友。这只会归还任何朋友   已经使用(通过Facebook登录)提出请求的应用程序。

所以/me/friends只会返回已登录并获得相同应用权限的朋友。(您和您的朋友需要允许您的应用通过登录使用Facebook

答案 1 :(得分:0)

只有那些有权访问您的应用的朋友才会在此阵列中返回。因此,如果您的应用都没有授权您的应用,它将返回空数组。

如果您想对此进行测试,您可以从您的某个朋友帐户授权您的应用,而且当您使用自己的帐户进行测试时,您将收到数组中的1个对象

自Graph API 2.0以来,这已经发生了变化

请阅读从Facebook Graph API文档中提取的以下信息块

  
      
  • 需要具有user_friends权限的用户访问令牌才能查看当前此人的朋友。

  •   
  • 这只会让所有使用(通过Facebook登录)应用程序的朋友回复。

  •   
  • 如果此人的朋友拒绝了user_friends权限,该朋友将不会出现在此人的朋友列表中。

  •   

您可以找到此here