javascript - 如何从 Facebook API 获取评论者的个人资料照片?

标签 javascript facebook facebook-graph-api

我正在修改Facebook Live comments teleprompter中的代码.

我希望能够显示个人资料图片以及评论者的姓名。目前,代码仅显示名称,取自 comment.from.name

如何使用下面的代码使用 Facebook Graph API 获取评论者的个人资料图片?我尝试了 comment.from.picture 但这不起作用。

function refresh() {
        $countdown.removeAttr('value');
        lastReloadTime = null;

        return getLastLiveVideo().then(function(video) {
                // Merge video with comments and reactions
                return $.when(
                    getComments(video.id),
                    getReactions(video.id)
                ).then(function(comments, reactions) {
                    video.comments = comments;
                    video.reactions = reactions;
                    return video;
                });

            }).then(function(video) {
                    $('.comments').empty();
                    video.comments.forEach(function(comment) {
                        $('.comments').append(
                            $('<div class="comment"></div>').append(
                                $('<h2 class="name">').text(comment.from.name),
                                $('<p class="time"></p>').text(
                                    Math.floor(
                                        (new Date() - new Date(comment.created_time)) / 1000 / 60
                                    ) + ' min. ago'
                                ),
                                $('<p></p>').text(comment.message)
                            )
                        );
                    });

最佳答案

所以,我找到了答案。

个人资料图片的 URL 位于 comment.from.picture.data.url

所以代码如下:

function refresh() {
  $countdown.removeAttr('value');
  lastReloadTime = null;

  return getLastLiveVideo().then(function (video) {

    // Merge video with comments and reactions
    return $.when(
      getComments(video.id),
      getReactions(video.id)
    ).then(function (comments, reactions) {
      video.comments = comments;
      video.reactions = reactions;
      return video;
    });

  }).then(function (video) {
    $('.comments').empty();
    video.comments.forEach(function (comment) {
      $('.comments').append(
        $('<div class="comment"></div>').append(
          $('<h2 class="name">').html("<img src=\""+comment.from.picture.data.url+"\" class=\"fbprofilepic\"/>"+comment.from.name),
          $('<p class="time"></p>').text(
            Math.floor(
              (new Date() - new Date(comment.created_time)) / 1000 / 60
            ) + ' min. ago'
          ),
          $('<p></p>').text(comment.message)
        )
      );
    });

关于javascript - 如何从 Facebook API 获取评论者的个人资料照片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46407686/

相关文章:

javascript - 为什么 mozilla 在嵌入 html 代码时要求插件

javascript - getElementById 为 Canvas 元素返回 null

javascript - 返回函数 var 的函数

facebook - 如何通过 graph api 将自定义日期添加到 facebook 时间线

android - Facebook SDK Graph API 在墙上发布消息

ios - Facebook 个人资料图片不显示 Swift

java - 如何通过调用 get 请求获取页面访问 token Facebook graph api,java

javascript - if (key in object) 或 if(object.hasOwnProperty(key)

ios - Facebook 授权 w/权限请求 yield "Page Not Found"

php - 使用 Facebook 图形 API PHP 库