How to list all comments in my domain

后端 未结 3 810
伪装坚强ぢ
伪装坚强ぢ 2020-12-01 17:25

I am using the HTML5 version of Facebook Comment in my website. I have my own Facebook APP Id.

Using Graph-API, and FQL (I thi

3条回答
  •  鱼传尺愫
    2020-12-01 17:52

    It is possible, in two different ways, as long as you have a fixed set of sub-pages you want to fetch comments from.

    If you have a large amount of sub-pages, or a variable amount, then you don't have a good scalable solution - and many have been looking for one:

    • Facebook fb:comments Graph API
    • How to display recent comments from Facebook Comments social plugin?
    • Facebook FQL query to return all comments against an application
    • Retrieve all comments with FQL by application ID
    • Facebook FQL query to return all comments against an application
    • fql query to get comment count no longer working
    • http://facebook.stackoverflow.com/questions/10023179/retrieve-all-the-comments-posted-using-fql

    For a Fixed set of sub-pages in your website, you can either use a batch request, or an FQL query.

    Batch Request


    First, you need your access token. Just enter the following as a url in a browser (credit to this website ):

    https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=APP_ID&client_secret=APP_SECRET

    And this is the javascript jquery code to make a batch request to fetch comments from several urls at once:

    $.ajax({
      url: 'https://graph.facebook.com/',
      type : "POST",
      data: {
        access_token : 'YOUR_APP_ACCESS_TOKEN',
        batch : '[ \
        {"method":"GET","relative_url":"URL1"}, \
        {"method":"GET","relative_url":"URL2"} \
        ]'
      },
      success: function(data) {
        jdata = JSON.parse(data);
        $.each(jdata, function(index,value){
            jdata[index].body = JSON.parse(value.body);
            console.log(value.body);
        });
        // Do whatever you want with jdata
      }
    });
    

    FQL


    inspired from this post

    FB.api({
        method: 'fql.query',
        query: 'select text from comment where object_id in (select comments_fbid from link_stat where url="URL1" or url="URL2")'
      }, function(response) {
        // Do something with results
      });
    

    Conclusion

    Because of this limitation of Facebook, I plan to switch to disqus.com, which apparently supports this feature (As you can see from this blog, for example. (search for 'recent comments')

提交回复
热议问题