如何使用koala gem从facebook api graph获取页面粉丝的评论

时间:2015-04-02 12:59:13

标签: facebook-graph-api ruby-on-rails-4.1 facebook-insights koala-gem

如何使用koala gem从facebook-api图表中获取页面粉丝的评论

@user_graph = Koala::Facebook::API.new('XXXXXXXXXXXXX')
lists = @user_graph.get_object("#{pageid}/insights/page_storytellers")

但我想得到页面粉丝评论的所有评论。

给出null数组结果, 请任何人帮助我

2 个答案:

答案 0 :(得分:0)

故事讲述者是一个独特的人物,他们创建了一个关于你的页面帖子的故事,它没有给你关于粉丝的完整评论或信息。

要获取页面上的评论,您必须首先获取页面帖子列表,然后查询每个帖子以获取评论。

您可以从任何页面获取此信息,您无需访问Insights。

例如:

page_info = @graph.get_object('nytimes')
pageid = page_info["id"]

fb_params = {
          :fields => 'admin_creator,from,id,link,message,object_id,source,
                  status_type,story,story_tags,to,type,created_time,updated_time,
                  shares,likes.summary(true),comments.summary(true)',
          :limit => 100,
          :until => DateTime.now.at_end_of_day.to_i,
          :since => DateTime.now.years_ago(5).to_i,
          :metadata => 1
      }

posts = @graph.get_connection(pageid, 'feed', fb_params)

如果在您请求的字段中包含“comments.summary(true)”,您将获得每个帖子的前25条评论以及分页信息(游标,下一页和以前的网址)。

循环浏览每个帖子和每个帖子评论(如果你准备好了,comments on those comments),你就会得到你的结果集。

如果您希望跳过编写代码,只需点击几下即可使用Analytics Canvas完成此任务。

完全披露 - 我在分析画布上使用nModal

答案 1 :(得分:0)

你可以用考拉宝石做到这一点。

    access_token = '#{access_token}'
    @graph = Koala::Facebook::API.new(access_token)
    page_name = '#{page_name}'
    node_type = "posts"
    # get posts with standard content
    posts_standard = @graph.get_connections(page_name, node_type,limit: 5)
    # get posts with replies
    posts = @graph.get_connections(page_name, node_type, limit: 5,fields: "message,id,created_time,updated_time,likes.summary(true),shares,comments.fields(comments.fields(from,message),message,from),from")