如何获取Facebook页面的更大的个人资料图片

PJR*_*PJR 18 iphone url facebook objective-c ios

我通过URL从Facebook获取图像:http://external.ak.fbcdn.net/safe_image.php?d = d282e1e7c86c9270232f97ddc737df39&w = 90&h = 90& url = http%3A%2F%2Fi52.tinypic.com%2F2q0ixzl.jpg

现在,我想要一个更大的版本,比如200乘200.是否有一个URL?如果没有,我该如何将此图像转换为更大的尺寸?

Suj*_*wal 52

通常,如果您想收集用户或页面的个人资料图片,图标大小图片的格式为:

http://graph.facebook.com/[page id/profile id]/picture
Run Code Online (Sandbox Code Playgroud)

而对于大图:

http://graph.facebook.com/[page id/profile id]/picture?type=large
Run Code Online (Sandbox Code Playgroud)

编辑注意事项:如果存储在Facebook服务器上的图像小于200*200尺寸,您将获得最高分辨率的图像,例如:128*160.您可以使用GD库调整大小.

还有一件事

Facebook支持200*600px作为配置文件pic的最高分辨率.它将通过保持纵横比来调整图像大小以适应这些尺寸.

*2017年2月19日更新*

我们需要使用这个新的URL格式来获得所需的配置文件图像.

http://graph.facebook.com/{profile_id}/picture?width={number??}&height={number}
Run Code Online (Sandbox Code Playgroud)

[谢谢/sf/users/198038991/]

  • @loldop使用多个请求获取大图:_http://graph.facebook.com/me/pages?fields = id,name,**picture.type(large)**,description&access_to ken = [******] _ (9认同)
  • 是否有可能在属性字段的多请求中获得全局?`http://graph.facebook.com/me/pages?fields=id,name,picture,description&access_token= [******]`< - 像这样的东西 (5认同)

Kob*_*gor 23

如果你想获得更大的图片,你可以像这样设置你想要的高度和宽度:

http://graph.facebook.com/[page id/profile id]/picture?width=[number]&height=[number]
Run Code Online (Sandbox Code Playgroud)

更多信息和示例:图片 - Facebook开发者

  • 这应该是答案,imho. (2认同)

小智 6

这也行

picture.type(大)

 if ([FBSDKAccessToken currentAccessToken]) {
    [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"picture.type(large),name, email"}]
     startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
         if (!error) {
             NSLog(@"fetched user:%@", result);
             NSMutableDictionary *data=[[NSMutableDictionary alloc]init];
             data=result;


             fbId.text=[data valueForKey:@"id"];
             userName.text=[data valueForKey:@"name"];
             _emailFB.text=[data valueForKey:@"email"];



             NSDictionary *dictionary = (NSDictionary *)result;

             NSDictionary *data3 = [dictionary objectForKey:@"picture"];
             NSDictionary *data2 = [data3 objectForKey:@"data"];
             NSString *photoUrl = (NSString *)[data2 objectForKey:@"url"];

             NSLog(@"Photo : %@",photoUrl);


         }
     }];
}
Run Code Online (Sandbox Code Playgroud)

}