当用户使用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中做到这一点。 请帮帮我
答案 0 :(得分:0)
我正在使用(github.com/nov/fb_graph)版本:2.7.8中的FbGraph,我可以一次为100个用户发出批量请求,并默认获取有关它们的以下信息。 我没有使用任何访问令牌。因此,您可以获得更多信息,包括电影。
这是演示代码,其中id是Facebook用户ID数组:
r = FbGraph::User.fetch("?ids=#{ids.join(",")}")
r.raw_attributes #information about the users hashed by their id (String)