0

次のようにFQLコメントテーブルをクエリする場合:

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

結果を取得していますが、すべてのコメントのユーザー名は「匿名ユーザー」です。なぜこれが起こっているのか誰かが知っていて、おそらく解決策がありますか?

ありがとう

4

2 に答える 2

2

username外部サイトで Facebook コメント プラグインを使用している場合、このフィールドにはデータのみが含まれます。人々は Facebook にログインせずにコメントを残すことができます。このフィールドには、ユーザーがコメントを残したときに入力したデータが反映されます。

それ以外の場合は、ステファンが言及しているように、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)"
}
于 2013-03-11T16:03:50.940 に答える
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)"
}
于 2013-03-10T21:43:25.323 に答える