2012-04-16 13 views
1

私はFacebookのコメントボックスプラグインを使用しています。また、comment.create JavaScriptイベントを購読していますので、FQLを使用してFacebookからのコメントの詳細を取得し、私のアプリケーションのデータベースのコメントデータ。コメントボックスコメントへの返信を取得するFacebook FQL

私は(comment.createイベントハンドラに渡された)新しいコメントのIDとのhrefを受信したときにこれまでのところ、私はそのコメントの詳細を取得するには、次のFQLを使用することができる午前:

SELECT object_id, post_id, fromid, time, text, username 
FROM comment 
WHERE post_fbid='*** EVENT COMMENT_ID ***' AND object_id 
    IN (SELECT comments_fbid FROM link_stat WHERE url='*** EVENT HREF ***') 

このすべては素晴らしいです。

ユーザーがコメントに返信すると問題が発生します。この場合、上記のクエリはコメントを取得できません。

I've done some digging around Facebookの「コメント」テーブルには、コメントへの返信が含まれている「コメント」フィールド(または関係はわかりません)があるようです。あなたもコメントに返信のすべてを取得するために、次のクエリを使用することができます。

SELECT comments 
FROM comment 
WHERE post_fbid='*** EVENT COMMENT_ID ***' AND object_id 
    IN (SELECT comments_fbid FROM link_stat WHERE url='*** EVENT HREF ***') 

FQLテストコンソールいじりの後、私は返信がこの「コメント」欄に追加されていることがわかります。しかし、すべての返信を取得しようとするのではなく、IDを受け取った特定のものをcomment.createイベントハンドラで検索しようとしています。問題は、「コメント」はリンクされたテーブルではなくフィールドであるように見えるので、私はそれを照会できるとは思わない。

他の人がこれにぶつかる?アドバイスをいただければ幸いです。

ありがとうございました。

答えて

0

これを試してみてください:

SELECT text, time, id, likes, fromid, comments FROM comment WHERE is_private = 0 AND 
object_id IN (SELECT comments_fbid FROM link_stat WHERE url ='YOUR_URL') or 
object_id in (select post_fbid from comment where object_id in (select comments_fbid from link_stat where url ='YOUR_URL')) 
ORDER BY time DESC limit 0,10 
関連する問題