1

Facebook コメント ボックス プラグインを使用しています。

<fb:comments href="${myPageUrl}" num_posts="20" width="630"></fb:comments>

すべてがうまくいっています。問題は、投稿されたコメントをデータベースに保存したいということです。コメント ボックスに投稿されたテキストを取得する方法はありますか。

次のjsを使用してcomment-createイベントをキャッチしています。

FB.Event.subscribe('comment.create', function(response) {        
        alert(response.commentID)
});

これからいくつか取得していますが、特定のイベントcommentIdに投稿された正確なコメントを取得する方法がわかりません。comment-create

4

3 に答える 3

2

Coomie: 実はコメントが投稿されるたびに、「comment.create」を通じてイベントをキャッチしています。イベントをキャッチすることはできましたが、その特定のイベントに投稿されたコメント (テキスト) を取得する方法を知りたいと思っていました。event.text または event.comment と同様ですが、直接的な方法が見つかりませんでした

だから、今私はそれをfqlで操作しています。これはあなたの例に多少似ています。最初にリスト全体を取得してから、一番上のリストを選択します。私のサンプルコードは以下の通りです:

FB.Event.subscribe('comment.create', function(response) {
      FB.api({
        method: 'fql.query',
        query: "SELECT post_fbid, fromid, object_id, text, time from comment WHERE  object_id in (select comments_fbid from link_stat where url ='${PageUrl}') order by time desc limit 1"
      },
      function(response) {
        var feed = response[0];          
        alert(feed.text)
      });
});  

したがって、この方法では、私が望むのとまったく同じ結果が得られます。

于 2012-02-15T14:22:55.807 に答える
1
FB.Event.subscribe('comment.create', function(response) {
  var commentQuery = FB.Data.query('SELECT fromid, text FROM comment WHERE post_fbid=\'' + response.commentID + '\' AND object_id IN (SELECT comments_fbid FROM link_stat WHERE url=\'' + response.href + '\')');
  FB.Data.waitOn([commentQuery], function () {
    text = commentQuery.value[0].text;
    // Use your preferred way to inform the server to save comment
    $.post( 'http://example.com/comment', text )
  });
});
于 2012-11-07T08:24:10.330 に答える
1

完全な答えはありませんが、これでうまくいくはずです。

facebook グラフ API を使用して、開いているグラフ ID に関する情報を抽出できます (開いているグラフ ID は、個人、Web サイト、アプリケーション、または URL を識別する FB の方法です)。例えば。このページ: http://www.inhousegroup.com.au/newsroom/23-best-practice-for-advanced-seo/ (私を解雇した場所) はコメント ボックスを使用します。Web ページのオープン ID は 10150441190653416 です。したがって、このページにコメントすると、Facebook はそのページの「ウォール」のウォール投稿としてコメントを認識します。

グラフ API を使用すると、ページに関する JSON 情報を取得できます: http://graph.facebook.com/10150441190653416

そして、このアドレスから投稿を取得できます: http://graph.facebook.com/10150441190653416/posts

ただし、アクセス トークンを取得する必要があります。

次に、保存時に投稿をインポートし、データベースを JSON と比較し、必要に応じてレコードを追加するだけです。

幸運を!

于 2012-02-10T06:50:01.123 に答える