1

我想知道我是否可以在请求时设置图片宽度和高度。有人建议我使用以下查询来实现此行为:

SELECT id, width, height, url, is_silhouette, real_width, real_height FROM profile_pic
 WHERE id=me() AND width=155 AND height=50

这是正确的过程吗?根据我的要求,我需要在表格中显示个人资料图片,如所附屏幕截图所示,宽度为 155,高度为 50。

我的好友列表

提前致谢

4

6 回答 6

0

这是一个代码,可以帮助您获取朋友的头像。

  1. 从 FBGraph API 获取朋友的 ID,例如

     NSString *id = @"505326797";
    
  2. 然后粘贴以下代码...

     NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture",id]];
    
  3. 这是您可以获得朋友图片的确切网址的方式,在异步图像视图或其他地方使用它......

也许它会帮助你...

于 2012-09-05T09:52:24.470 回答
0

FQL 获取 facebook 好友信息列表和他们的照片

NSString *query = @"SELECT uid,name,first_name,last_name,pic_square FROM user WHERE uid IN (";
query = [query stringByAppendingFormat:@"SELECT uid2 FROM friend WHERE uid1 = %@)",userid];
NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                query, @"query",
                                nil];
[_facebook requestWithMethodName: @"fql.query" 
                       andParams: params
                   andHttpMethod: @"POST" 
                     andDelegate:self]; 

您将通过以下方法得到响应

  -(void)request:(FBRequest *)request didLoad:(id)result 

例如

{
    "first_name" =User;
    "last_name" = R;
    name = "User R";
    "pic_square" = "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-ash2/.jpg";
    uid = 595sd1;
     }
 {},{} etc

希望这可以帮助!

另一种方法是

获取用户的id(或昵称),并从https://graph.facebook.com/idOrNick/picture获取图片

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://graph.facebook.com/%@/picture", id]];
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
UIImageView *imgView = [[UIImageView alloc]init];
imgView.image = image;

而对于尺寸

图片尺寸:正方形(50×50)

小(50 像素宽,可变高度)

大(大约 200 像素宽,可变高度)

并且要应用这种类型的大小,您必须将其附加到 URL 的末尾

例如

http://graph.facebook.com/“id或 Nick”/picture?type=large。[小/方形/大]

于 2012-09-05T09:48:00.387 回答
0

使用 Graph API 字段扩展方法 -

graph.facebook.com/USER_ID?fields=friends.fields(picture.height(50).width(155))
于 2012-09-12T21:44:29.010 回答
0

我也在寻找这个问题的答案。最后我认为这个电话是最好的:

http://graph.facebook.com/me/friends?fields=name,picture.height(200).width(200)

您还可以将“我”替换为某个 ID。

于 2013-03-08T18:46:50.040 回答
0

是的。你的代码是正确的。这将获得大约的图片版本。155 x 50 像素。

如果您想获取用户朋友的照片,请使用以下查询

 SELECT id, width, height, url, is_silhouette, real_width, real_height  
     FROM profile_pic
         WHERE id IN (SELECT uid1 FROM friend WHERE uid2=me()) AND width=155 AND height=50
于 2012-09-05T12:23:14.430 回答
0

根据文档https://developers.facebook.com/docs/reference/api/using-pictures/,有一种更简单的方法可以做到这一点。从 facebook 获取自定义图像的直接 URL 是:

https://graph.facebook.com/<USER_ID>/picture?width=<WIDTH>&height=<HEIGHT>

我知道问题是关于使用 GraphAPI 获取 URL,但是当您可以直接提供图像 src URL 时,为什么还要进行一次额外的调用。

<img src="https://graph.facebook.com/${ID}/picture?width=${customwidth}&height=$customheight" />
于 2013-05-24T14:59:41.247 回答