获取Facebook好友的位置非常耗时

时间:2011-09-16 16:30:42

标签: ruby performance algorithm facebook facebook-graph-api

在这个算法中,我循环遍历每个朋友以找到他们的位置,但这是非常低效的......对于100个朋友来说,这个脚本需要2分钟......有人可以提出更有效的解决方案吗?

@friends[1..100].each do |f| # 'f' contains basic friend info (name, uid)
  friend = get_friend(f['id']) # 'friend' gets data for each friend
  if friend.has_key?('location')
     @friends_locations[friend['name']] = friend['location']['name'] 
    end
  end

我正在使用Koala API和Ruby on Rails ...谢谢!

2 个答案:

答案 0 :(得分:1)

尝试使用FQL,你也可以通过REST API发布查询/查询 查询会像

那样

选择...来自隐藏的用户(从朋友那里选择uid2,其中uid1 = me())

答案 1 :(得分:1)

您可以使用Batch Requests一次发送20个查询。但是FQL可能是一种更好的方法,我还没有听说它被弃用了。