如何获得个人资料图片(朋友)

时间:2014-09-21 20:27:16

标签: ios objective-c iphone facebook facebook-graph-api

我想获得用户的朋友个人资料图片,但我希望图片的类型很大。

让我说我对taggable_friends(一个独立的问题本身)很好,所以我这样得到它:

登录+权限:

    FBLoginView *loginView = [[FBLoginView alloc] initWithReadPermissions: @[@"public_profile", @"email", @"user_friends"]];

    loginView.frame = CGRectOffset(loginView.frame, (self.view.center.x - (loginView.frame.size.width / 2)), (self.view.center.y - (loginView.frame.size.height / 2)));
    [self.view addSubview:loginView];

现在是taggable_friends

FBRequest* friendsRequest = [FBRequest requestWithGraphPath:@"me?fields=invitable_friends" parameters:nil HTTPMethod:@"GET"];
[friendsRequest startWithCompletionHandler: ^(FBRequestConnection *connection,
                                              NSDictionary* result,
                                              NSError *error) {
    NSArray* friends = [[result objectForKey:@"invitable_friends"] objectForKey:@"data"];
    NSLog(@"Found: %i friends", friends.count);
    for (NSDictionary<FBGraphUser>* friend in friends) {
        NSLog(@"friend.name %@", friend.name);
        NSLog(@"friend.objectID %@", friend.objectID);

    }

}];

好的,我有objectID,如何使用它来获取用户的大型个人资料?

这对我不起作用:

https://graph.facebook.com/USER_ID/picture?type=large

由于用户ID为~50个字符,通常不是10-12个字符。

请帮忙吗?!

提前致谢!

1 个答案:

答案 0 :(得分:-1)

您使用的ID不是朋友的真实ID。由于他们从未使用过您的应用,因此您无法访问其个人资料,因此您可以充当占位符。但是,您可以编辑在下面的示例网址中以粗体突出显示的picture-&gt; data-&gt;网址中找到的网址,以修改其个人资料图片的大小。

https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/t1.0-1/ c0.0.100.100 / <强> p100x100 /1470158_10201991701127909_302023572_n.jpg

c0.0.100.100表示​​图像容器的大小

p100x100表示​​图像本身的大小

两个值应匹配以获得最佳效果。我注意到你无法通过容器和图像超过200X200px。 Facebook可能会对尺寸设置设置上限。