使用Rails获取Web应用页面的FB Likes总数

时间:2011-11-05 00:01:12

标签: ruby-on-rails facebook-graph-api facebook ruby-on-rails-3.1 facebook-like

我正在构建一个rails应用程序,其中有一个图像库,用户将能够为他们打开的每个图像点击facebook按钮。每个图像都可以有单独的页面URL。我计划使用facebook like插件,以便用户可以将照片视为网页。到目前为止,我能够找到,如果我https://graph.facebook.com/?id=http://www.mysite.com/ImagePage我得到:

{
   "id": "http://www.mysite.com/ImagePage",
   "shares": 30
}

这给我留下了两个问题。

  1. shares属性并不完全是喜欢的总数,它只是链接进入用户Facebook墙的次数。我如何获得喜欢的数量?

  2. 是否有一个eventHandler或者我可以用来了解用户何时点击“赞”的内容?这样我可以存储这些信息?我希望将喜欢的数量存储在我的最后,这样我就可以按照每天总喜欢数下降的顺序显示画廊。

  3. 我遇到过考拉宝石,但我不确定我是否需要将它用于我的应用程序,因为我不需要使用facebook登录/连接登录用户。如果您认为我需要这样做,请告知我上面提到的内容。

2 个答案:

答案 0 :(得分:5)

你必须使用FQL。

在php中看到这个例子,我确定你知道如何在ruby中处理它:

$fql = 'SELECT url, share_count, like_count, comment_count, total_count
        FROM link_stat WHERE url="http://stackoverflow.com"';
$json = file_get_contents('https://api.facebook.com/method/fql.query?format=json&query=' . urlencode($fql));

结果如下:

[
    {
        "url"           : "http://stackoverflow.com",
        "share_count"   : 1353,
        "like_count"    : 332,
        "comment_count" : 538,
        "total_count"   : 2223
    }
]

答案 1 :(得分:0)

对于那些不知道如何修改上一个答案中所见代码的人,您通常有两种选择:

  • 使用支持运行FQL查询的facebook gems(例如:fb_graph

示例代码:

require 'fb_graph'

array = FbGraph::Query.new(
  'SELECT name FROM user WHERE uid = me()'
).fetch(ACCESS_TOKEN)

p array