次のようにFQLコメントテーブルをクエリする場合:
SELECT post_fbid, fromid, username, time, text FROM comment WHERE post_id = id
結果を取得していますが、すべてのコメントのユーザー名は「匿名ユーザー」です。なぜこれが起こっているのか誰かが知っていて、おそらく解決策がありますか?
ありがとう
次のようにFQLコメントテーブルをクエリする場合:
SELECT post_fbid, fromid, username, time, text FROM comment WHERE post_id = id
結果を取得していますが、すべてのコメントのユーザー名は「匿名ユーザー」です。なぜこれが起こっているのか誰かが知っていて、おそらく解決策がありますか?
ありがとう
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)"
}
ユーザー名ユーザーがコメントを投稿したときに入力したユーザー名。これらの場合、返される 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)"
}