2013-03-08 114 views
0

當quering的FQL評論表是這樣的:Facebook的FQL評論用戶名=匿名用戶

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

我得到的結果,但用戶名每個註釋是「匿名用戶」。有誰知道爲什麼會發生這種情況,並有解決辦法嗎?

感謝

回答

1

用戶名一個用戶,當他們發佈的評論中輸入的用戶名。 在這些情況下,返回的fromid將爲0.請注意,有效用戶的用戶名 不會返回到此處。

我真的不明白這個username究竟代表什麼,但你可以簡單地忽略它!

fromid給出了評論者的ID。從這個角度來說,獲取用戶名是沒有問題的!

ID可以是用戶或頁面中的一個。我做了一個multiquery爲你收集你需要的所有信息:

{ 
"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)" 
} 
+0

喜斯特凡。謝謝,我沒有在文檔中找到這個段落,或者沒有注意到它。這也是我現在這樣做的方式。但我想知道返回的匿名用戶。再次感謝! – Status4 2013-03-11 17:06:11

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)" 
} 
+0

嗨cpliko。我相信用戶名是給定的。當通過圖api方法/ post-id/comments獲得評論時,名稱會正確返回。但感謝您指出使用配置文件表! – Status4 2013-03-11 17:08:29