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

时间:2014-05-29 01:26:55

标签: facebook facebook-graph-api facebook-javascript-sdk

我可以查询Facebook的API以获取可标记的朋友列表:

FB.api('me/taggable_friends', function (taggable) {
    document.getElementById('friends').innerHTML = JSON.stringify(taggable);
});

但这只会将一个网址返回到一张小型的个人资料图片中。我想得到全尺寸的图片。

Are non-app users' pictures still avalible in Facebook Open Graph v2.0?

以上链接有Simon Cross的评论说“你可以使用......?Fields = width(n),height(n)来获得更大的图像”但我无法弄清楚正确的语法。

有谁知道这是如何运作的?

由于

4 个答案:

答案 0 :(得分: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);
          }

        }
    );

有帮助的锄头!

答案 1 :(得分:13)

@Jozef的答案格式对我不起作用。这有效:

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

我正在使用nodejs模块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像素缩略图。

答案 2 :(得分:2)

在版本2.5中,我无法设置图片的宽度和高度,但是如果您像这样进行调用,它将起作用。

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

你得到的图像似乎至少与你要求的图像一样大,没有缩放,但它比小图片要好。

答案 3 :(得分: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
    }
}];