0

当用户使用 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 中做到这一点。请帮我

4

1 回答 1

0

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

  • ID
  • 姓名
  • 关联
  • 用户名
  • 性别
  • 语言环境

这是 ids 是 Facebook 用户 ID 数组的演示代码:

 r = FbGraph::User.fetch("?ids=#{ids.join(",")}")
 r.raw_attributes  #information about the users hashed by their id (String)
于 2013-11-07T14:39:47.753 回答