Facebook喜欢用小工具计算Dashing with Ruby

时间:2016-02-02 11:01:38

标签: ruby json facebook widget dashing

要使用Dashing创建监视工具,我想在窗口小部件中显示Facebook页面的LIKES数量。我使用必要的信息检索JSON:

http://graph.facebook.com/fql?q=SELECT%20share_count,%20like_count,%20comment_count,%20total_count%20FROM%20link_stat%20WHERE%20url=%22http://www.google.fr%22&format=json

{
   "data": [
      {
         "share_count": 242039,
         "like_count": 63648,
         "comment_count": 52304,
         "total_count": 357991
      }
   ]
}

在此示例中查看窗口小部件中的相似数量:https://github.com/Ephigenia/foobugs-dashboard#default-dashboard

如何只在Ruby中显示喜欢的数量?

我找到了类似的东西但使用了Nokogiri https://github.com/Ephigenia/foobugs-dashboard/blob/master/jobs/twitter_user.rb

2 个答案:

答案 0 :(得分:1)

您可以使用json gem解析json:

gem install json

在您的代码中:

require 'rubygems'
require 'json'

然后像这样解析json(来自facebook的回复):

parsed_json = JSON.parse(string)

对于类似的计数:

parsed_json["data"][0]["like_count"]

答案 1 :(得分:1)

看起来像这样:

    require 'json'

    # make the GET request
    resp = Net::HTTP.get(URI("http://graph.facebook.com/fql?q=SELECT%20share_count,%20like_count,%20comment_count,%20total_count%20FROM%20link_stat%20WHERE%20url=%22http://www.google.fr%22&format=json"))

    # parse the JSON into a ruby hash
    json = JSON.parse(resp)

    # pull the like_count value out of the response
    puts json["data"][0]["like_count"]

    => 63648