如何使用fb_graph进行批量请求?

时间:2013-08-20 11:30:39

标签: ruby-on-rails facebook facebook-graph-api fb-graph

当用户使用facebook登录时,我需要收集用户和他/她的朋友喜欢的所有电影列表。

 user = FbGraph::User.fetch('me', :access_token => "access_token")
 userFrnd = user.friends
 movies=[]
 userFrnd.each do | uf |
  frnd = FbGraph::User.fetch(uf.raw_attributes['id'], :access_token => "access_token")
  movies << frnd.movies
 end
 final_movie_list = movies.flatten.uniq_by {|track| track.raw_attributes["id"]}

这是我的fb_graph功能,它运行正常。但我需要将其作为批处理请求,因为我有360朋友需要360请求正确处理上述功能。但帮我优化这个并减少时间它需要计算这个功能。 我开始知道批量请求可能对我有所帮助,但我不知道如何在fb_graph中做到这一点。 请帮帮我

1 个答案:

答案 0 :(得分:0)

我正在使用(github.com/nov/fb_graph)版本:2.7.8中的FbGraph,我可以一次为100个用户发出批量请求,并默认获取有关它们的以下信息。 我没有使用任何访问令牌。因此,您可以获得更多信息,包括电影。

  • ID
  • 名称
  • 如first_name
  • 姓氏
  • 链接
  • 用户名
  • 性别
  • 区域设置

这是演示代码,其中id是Facebook用户ID数组:

 r = FbGraph::User.fetch("?ids=#{ids.join(",")}")
 r.raw_attributes  #information about the users hashed by their id (String)
相关问题