【问题标题】:Facebook FQL comment username = anonymous userFacebook FQL 评论用户名 = 匿名用户
【发布时间】:2013-02-24 13:14:42
【问题描述】:

当像这样查询 FQL 注释表时:

SELECT post_fbid, fromid, username, time, text FROM comment WHERE post_id = id

我得到了结果,但每条评论的用户名都是“匿名用户”。有谁知道为什么会发生这种情况并且可能有解决方案?

谢谢

【问题讨论】:

    标签: facebook comments facebook-fql


    【解决方案1】:

    username 字段仅在您在外部网站上使用 Facebook 评论插件时才包含数据。人们可能会在未登录 Facebook 的情况下离开 cmets。此字段反映用户在发表评论时输入的数据。

    否则,正如 Stephane 所提到的,您需要使用 fromid 字段并将其解析给实际用户。

    我会查询profile 表来获取此信息,因为它返回任何 ID 的所有者,无论是页面、组还是用户:

    {
    "comments": "SELECT post_fbid, fromid, time, text FROM comment WHERE post_id=\"205861559433343_336511733034991\"", 
    "commenters": "SELECT id, username, name FROM profile WHERE id IN (SELECT fromid FROM #comments)"
    }
    

    【讨论】:

    • 嗨 cpliko。我确信给出了用户名。通过图形 api 方法 /post-id/cmets 获取 cmets 时,会正确返回名称。但是感谢您指出使用配置文件表!
    【解决方案2】:

    用户名 用户发表评论时输入的用户名。 在这些情况下,返回的 fromid 将为 0。请注意,用户名 此处不返回有效用户。

    老实说,我不明白 username 到底代表什么,但你可以直接忽略它!

    fromid 给出评论者的 ID。从此,你获取用户名就没有问题了!

    ID 可以是用户或页面之一。我为你做了一个多重查询,收集了你需要的所有信息:

    {
    "comments": "SELECT post_fbid, fromid, time, text FROM comment WHERE post_id=\"205861559433343_336511733034991\"", 
    "users": "SELECT uid, username FROM user WHERE uid IN (SELECT fromid FROM #comments)",
    "pages": "SELECT page_id, name FROM page WHERE page_id IN (SELECT fromid FROM #comments)"
    }
    

    【讨论】:

    • 嗨史蒂芬。谢谢,我没有在文档中找到这一段,或者只是没有注意到它。这也是我现在的做法。但我想知道返回的匿名用户。再次感谢!
    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    • 1970-01-01
    • 2011-12-29
    相关资源
    最近更新 更多