Facebook 在小部件 Dashing 中的点赞数 Ruby

Facebook Like count in widget Dashing with Ruby

要用 Dashing 创建一个监控工具,我想在一个小部件中显示 Facebook 页面的点赞数。我用必要的信息检索 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

您可以使用 json gem:

解析 json
gem install json

在您的代码中:

require 'rubygems'
require 'json'

然后像这样解析 json(来自 facebook 的响应):

parsed_json = JSON.parse(string)

点赞数:

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

看起来像这样:

    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