【问题标题】:How to get friends profile pics using FQL query using FBGraph-API如何使用 FBGraph-API 使用 FQL 查询获取朋友的个人资料图片
【发布时间】:2012-09-05 09:26:45
【问题描述】:

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

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。

提前致谢

【问题讨论】:

    标签: iphone ios facebook-graph-api facebook-fql


    【解决方案1】:

    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 or Nick"/picture?type=large。 [小/方形/大]

    【讨论】:

    • femina : 我正在使用 FBGraphAPI,变量 _facebook 是什么
    • 我需要知道如何设置它的宽度和高度
    • _facebook 是 Facebook 类的对象。
    • 在请求时设置图片的宽度和高度......我不知道......但是从上面的答案你可以有图像,然后你可以调整图像的大小。
    • femina : 我正在使用 FBGraphAPI,所以,我没有使用 facebook 类,我们有什么替代方案吗???
    【解决方案2】:

    使用 Graph API 字段扩展方式 -

    graph.facebook.com/USER_ID?fields=friends.fields(picture.height(50).width(155))
    

    【讨论】:

    • 我已经尝试过这种方式,当我采用这种方式时,我得到的图像宽度为 0.00,高度也为 0.00
    【解决方案3】:

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

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

    您也可以将“我”替换为某个 id。

    【讨论】:

      【解决方案4】:

      根据文档 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" />
      

      【讨论】:

        【解决方案5】:

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

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

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

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

        或许对你有帮助……

        【讨论】:

        • 我正在获取好友头像,但我想知道如何设置好友头像的宽度和高度
        • 你可以设置imageView的宽度/高度,但是你的图片会被拉伸......
        • 这就是为什么我想要不拉伸的原因,我们想事先给出宽度和高度
        【解决方案6】:

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

        如果您想获取用户朋友的照片,请使用this query

         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
        

        【讨论】:

        • 感谢您的回答,但我想知道如何将该查询发送到 facebook,我正在使用 FBGraphAPI,但我没有 requestWithMethodName、requestWithDelegate,
        猜你喜欢
        • 1970-01-01
        • 2016-11-19
        • 1970-01-01
        • 2014-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-12
        • 2013-08-02
        相关资源
        最近更新 更多