【发布时间】:2015-04-02 21:31:42
【问题描述】:
Facebook iOS SDK v4.0 似乎有很多变化。我尝试在登录后获取用户的好友列表。 我认为这与 FBSDKGraphRequestConnection 有关,但我不确定如何使用它。
另外,如果我只想结交正在使用我的应用的朋友,facebook sdk 是否支持?
谁能举一些例子?谢谢!
【问题讨论】:
标签: ios facebook facebook-graph-api
Facebook iOS SDK v4.0 似乎有很多变化。我尝试在登录后获取用户的好友列表。 我认为这与 FBSDKGraphRequestConnection 有关,但我不确定如何使用它。
另外,如果我只想结交正在使用我的应用的朋友,facebook sdk 是否支持?
谁能举一些例子?谢谢!
【问题讨论】:
标签: ios facebook facebook-graph-api
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];
【讨论】:
这显示了如何处理响应:
[[[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"]);
}
}
}];
【讨论】:
我使用下面的代码来获取好友列表
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
【讨论】: