如何使用FB获取留下评论的Facebook用户的名称.事件订阅



我正在尝试弄清楚如何使用FB获取在评论社交插件中发表评论的Facebook用户的名称。Event.subscribe 和 comment.create event。

我只在response对象上看到 2 个属性:

  • response.href:留下评论的页面的网址
  • response.commentID:评论线程的 ID

是否可以实现客户端代码来获取留下评论的 facebook 用户的名称?我正在尝试为我的服务器保存额外的往返行程,以调用图形 API 以获取所有评论,然后尝试找出留下最新评论的用户是谁。 我认为可能有一种方法可以运行 FQL 查询,但我在这里不知所措。

我认为这对于Facebook事件来说是一件显而易见的事情,但他们的文档太差了,我什么也看不到。

更新:我已经尝试按照其他用户的建议使用FB.api并使用/me但我无法使用它,因为留下评论的用户没有授予我任何权限。这令人困惑,因为他们登录以在评论框中发布评论,并且如果您转到用户的Facebook页面,则用户名是公共信息。所以我需要一种方法来查询评论用户的名称,而无需在 FB.api 中使用/me

此方法绝对可以获取名称..但是如果它是一个获得大量评论的线程,则存在竞争条件问题,因为在做出另一条评论之前可能不会发送获取评论的请求:

FB.Event.subscribe('comment.create', function(comment) {
    FB.api('comments', {'ids': comment.href}, function(res) {
        var data = res[comment.href].data;
        console.log(data.pop().from.name);
    });
});

这也适用于用户对应用进行身份验证。

在阅读了TMC下面的评论后,我意识到没有权限是不可能的。如果您想这样做,那么您将不得不要求每个评论者授予您基本权限。

原始答案

您可以使用Facebook Javascript SDK函数FB.api,其工作方式与PHP SDK的api函数相同,但返回JSON字符串。请查看此页面以获取文档。您可能还想查看注释对象文档。

注释具有一个属性from,它提供用户的idname

最新更新