【发布时间】:2014-05-04 14:19:51
【问题描述】:
Facebook 最近(2014 年 4 月 30 日)将其图形 API 更新到 v2.0。现在获取 facebook 朋友和他们的个人资料图片的标准 api 调用是什么? (我/朋友不工作,因为我想要所有的朋友而不是使用该应用程序的朋友)
【问题讨论】:
标签: ios facebook facebook-graph-api
Facebook 最近(2014 年 4 月 30 日)将其图形 API 更新到 v2.0。现在获取 facebook 朋友和他们的个人资料图片的标准 api 调用是什么? (我/朋友不工作,因为我想要所有的朋友而不是使用该应用程序的朋友)
【问题讨论】:
标签: ios facebook facebook-graph-api
在 v2.0 的 Graph API 中,/me/friends 仅包含用户的同时登录应用的好友。
要在标签和邀请的情况下使用朋友获取非应用,您可以使用新的/me/taggable_friends和/me/invitable_friends端点。
更多细节在这里:Facebook Graph Api v2.0+ - /me/friends returns empty, or only friends who also use my app 和这里:Get facebook friends with Graph API v.2.0
【讨论】:
大家都晚了,但这个信息不在那里。
以下是获取 taggable_friends Facebook 个人资料图片的方法(也很大!)
[FBRequestConnection startWithGraphPath:@"/me/taggable_friends?fields=id,name,picture.type(large)"
parameters:nil
HTTPMethod:@"GET"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
) {
NSArray* friends = [result objectForKey:@"data"];
NSLog(@"Found: %i friends", friends.count);
for (NSDictionary<FBGraphUser>* friend in friends) {
NSDictionary *pictureData = [[friend objectForKey:@"picture"] objectForKey:@"data"];
NSString *imageUrl = [pictureData objectForKey:@"url"];
NSLog(@"Facebook profile image url %@", imageUrl);
}
}];
这会检索所有 Facebook 好友,并为每个好友解析 imageURL。您可以解析可标记链接的“朋友”节点(仅当您从应用程序标记朋友时才有效)及其用户名。
【讨论】:
Next code will provide the taggable_friends with Url pictures at wanted sizes.
Session session = Session.getActiveSession();
Bundle params = new Bundle();
params.putString("fields", "picture.width(" + size.x + ").height(" + size.y + ")");
Request request = new Request(session, "/me/taggable_friends", params, HttpMethod.GET, new Request.Callback() {
public void onCompleted(Response response) {
}
});
Request.executeBatchAsync(request);
【讨论】: