FB api调用for循环

时间:2014-04-19 20:07:22

标签: javascript facebook facebook-graph-api

我试图通过fb.api()调用获取评论员个人资料图片的所有Facebook评论。目前所有评论都已经过时,我只是无法获取个人资料图片以附加适当的评论。

在循环中循环浏览所有评论的是另一个FB.api调用,它获取评论视频的用户的个人资料照片,然后将它们附加到单个评论区块中。使用此代码,我可以获得在每条评论中评论过的所有用户的个人资料照片。 我究竟做错了什么??提前谢谢!

var komentarji_length = response.comments.data.length;

for (var i = 0; i < komentarji_length; i++) {
    var user_id = response.comments.data[i].from.id;

    FB.api("/" + user_id + "/picture", {
        access_token: access_token
    }, function (response) {
        var profile_pic_link = response.data.url;
        $(".comments_profile_pic" + i).append("<img src=" + comments_profile_pic_link + ">");

    });

    var ime = response.comments.data[i].from.name;
    var message = response.comments.data[i].message;

    $(".fb_comments").append('<div class="single_comment"><div class="comments_profile_pic' + i + '"></div><div class="name">' + name + '&nbsp says:</div><div class="single_message">' + message + '</div></div>');
}

1 个答案:

答案 0 :(得分:2)

问题1:未定义comments_profile_pic_link,变量为:profile_pic_link

但那时问题也无法解决。当您致电"/" + user_id + "/picture"时,它会自动重定向到图片网址。因此,您可以直接将图片网址用作:https://graph.facebook.com/{user-id}/picture。无需不必要地进行API调用。

Example


如果您希望获得正确的图片网址(不是必需的话),请在通话时使用redirect=0 -

 FB.api("/" + user_id + "/picture?redirect=0", {
     access_token: access_token
    }, function (response) {
    var profile_pic_link = response.data.url;
    $(".comments_profile_pic" + i).append("<img src=" + comments_profile_pic_link + ">");
});