从Facebook API中更改用户/可标记好友的个人资料照片的高度/宽度

8
我可以通过查询Facebook的API获得可标记好友列表,使用以下代码: ```
FB.api('me/taggable_friends', function (taggable) {
    document.getElementById('friends').innerHTML = JSON.stringify(taggable);
});

但这只返回一个微小的个人资料图片的链接。我想要获取全尺寸的图片。
上面的链接有Simon Cross的评论,他说“你可以使用...? Fields=width(n),height(n)来获取更大的图像”,但我无法弄清正确的语法。
有人知道这是如何工作的吗?
谢谢
4个回答

17

我曾经也遇到同样的问题,Facebook关于此的文档很糟糕,但最终我解决了它:

    FB.api(
        "/me/taggable_friends?fields=name,picture.width(100), picture.height(100)",
        function (response) {
          if (response && !response.error) {
            // Do what you like with the response data here response.data;
            callback();
          } else {
            console.log(response);
          }

        }
    );

希望这有所帮助!


这在2.1版本及更高版本中不再起作用。如果您尝试,则会收到400的HTTP状态。 - Michael Wu
在JavaScript SDK中,以下声明对我有效:FB.api('/me', { fields: 'name, picture.width(100).height(100)' }, function(response) { ... }); - Jamie M

13
@Jozef的回答格式对我没用。相反,这个有效:

fields=name,picture.width(100).height(100)

我正在使用Node.js模块facebook-node-sdk,因此我的问题可能是特定于该模块的。这是一个完整的示例:

   FB.api('me/taggable_friends', {
       fields:         'name,picture.width(100).height(100)',
       limit:          20,
       access_token:   req.session.access_token
   }, function (result) {
       if(!result || result.error) {
           return false;
       }
       d = {
         friends: result.data,
       };

      res.render('myview', d);
   });

这将返回20个好友的限制,并带有100x100像素的缩略图。


谢谢!具有讽刺意味的是,在FB文档中它说:“此端点没有任何参数。” - banesto

2

在2.5版本中,我无法设置图片的宽度和高度,但是如果您按照以下方式进行调用,它将起作用。

me/taggable_friends?fields=picture.width(500).height(500)

您得到的图像似乎至少与您要求的大小相同,没有缩放,但这比太小要好。

如果您不想得到裁剪后的图片,可以考虑使用超大的宽度(比如5000),高度将会自动设置。 - banesto

0

这是iOS的代码:

[FBRequestConnection startWithGraphPath:@"/me/taggable_friends"
     parameters:@{@"fields" : @"name,picture.width(500).height(500)"}
     HTTPMethod:@"GET"
    completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
    /* handle the result */
    if(!error){
        NSArray *friends = result[@"data"];
        // do something with the friends list
    } else{
        // show the error
    }
}];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接