В этом алгоритме я перебираю каждого друга, чтобы найти его местоположение, но это очень неэффективно ... для 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 ... спасибо!
Одновременно можно отправить 20 запросов, используя Пакетные запросы .Но FQL, вероятно, лучший подход, и я не слышал, что он устарел.
Попробуйте FQL, вместо этого вы можете запрашивать / отправлять запросы посредством публикации через API REST. Этот запрос будет выглядеть примерно так:
select ... От пользователя, где он спрятался (выберите uid2 из друзей, где uid1 = me ())