Получение местоположения друзей в Facebook занимает много времени - PullRequest
0 голосов
/ 16 сентября 2011

В этом алгоритме я перебираю каждого друга, чтобы найти его местоположение, но это очень неэффективно ... для 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 ]

1 голос
/ 16 сентября 2011

Одновременно можно отправить 20 запросов, используя Пакетные запросы .Но FQL, вероятно, лучший подход, и я не слышал, что он устарел.

1 голос
/ 16 сентября 2011

Попробуйте FQL, вместо этого вы можете запрашивать / отправлять запросы посредством публикации через API REST. Этот запрос будет выглядеть примерно так:

select ... От пользователя, где он спрятался (выберите uid2 из друзей, где uid1 = me ())

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...