Facebook FQL评论用户名=匿名用户

时间:2013-03-08 21:12:48

标签: facebook comments facebook-fql

在查询FQL注释表时,如下所示:

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

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

由于

2 个答案:

答案 0 :(得分:2)

如果您在外部网站上使用Facebook评论插件,则username字段仅包含数据。人们可以在不登录Facebook的情况下发表评论。该字段反映用户在离开评论时输入的数据。

否则,正如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)"
}

答案 1 :(得分:1)

  

用户名用户在发布评论时输入的用户名。   在这些情况下,返回的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)"
}