我可以查询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)来获得更大的图像”但我无法弄清楚正确的语法。
有谁知道这是如何运作的?
由于
答案 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
}
}];