Facebook iOS SDK v4.0,获取好友列表

Posted

技术标签:

【中文标题】Facebook iOS SDK v4.0,获取好友列表【英文标题】:Facebook iOS SDK v4.0, get friends list 【发布时间】:2015-04-02 21:31:42 【问题描述】:

Facebook ios SDK v4.0 似乎有很多变化。我尝试在登录后获取用户的好友列表。 我认为这与 FBSDKGraphRequestConnection 有关,但我不确定如何使用它。

另外,如果我只想结交正在使用我的应用的朋友,facebook sdk 是否支持?

谁能举一些例子?谢谢!

【问题讨论】:

【参考方案1】:
FBSDKGraphRequest *friendsRequest = 
    [[FBSDKGraphRequest alloc] initWithGraphpath:@"me/friends"
                                      parameters:parameters];
FBSDKGraphRequestConnection *connection = [[FBSDKGraphRequestConnection alloc] init];
[connection addRequest:friendsRequest
     completionHandler:^(FBSDKGraphRequestConnection *innerConnection, NSDictionary *result, NSError *error) 
         ...
     ];
// start the actual request
[connection start];

【讨论】:

结果返回刚好25个好友,还有一个paging参数,如何使用paging获取下一个好友或者如何获取所有好友 参数是什么?【参考方案2】:

这显示了如何处理响应:

[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me/friends" parameters:nil]
 startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)

     if (!error)
     
        NSArray * friendList = [result objectForKey:@"data"];
        for (NSDictionary * friend in friendList)
        
            NSLog(@"Friend id: %@", friend[@"id"]);
            NSLog(@"Friend name: %@", friend[@"name"]);             
        
    
];

【讨论】:

【参考方案3】:

我使用下面的代码来获取好友列表

self.graphrequest = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me/taggable_friends?limit=100"
                                                 parameters:@ @"fields":@"id,name,picture.width(100).height(100)"];
[self.graphrequest startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) 
    if (!error) 
        self.resultsArray = result[@"data"];
        [self.fbTableView reloadData];
        [self.fbTableView setHidden:NO];
     else 
        NSLog(@"Picker loading error:%@",error.userInfo[FBSDKErrorLocalizedDescriptionKey]);
    
];

您可以使用limit关键字限制好友数量。例如:limit=100

【讨论】:

以上是关于Facebook iOS SDK v4.0,获取好友列表的主要内容,如果未能解决你的问题,请参考以下文章

如何从 iOS 上的 Facebook SDK 获取用户数据

Facebook SDK 错误 Domain=com.facebook.sdk Code=5 在 ios 中获取好友列表时

如何使用 iOS Facebook SDK 获取所有 Facebook 好友列表

Facebook App Invide V4.0 通知

我如何从 facebook 公开资料 Facebook IOS Swift SDK 中获取性别

Facebook iOS SDK 3.2 获取用户新闻提要