Получить местоположение друзей из Facebook с помощью fb_graph Ruby gem - PullRequest
2 голосов
/ 03 мая 2011

Я пытаюсь найти местоположение всех друзей пользователя, используя гем: fb_graph .(версия 1.7.2)

Мои разрешения: publish_stream, read_friendlists, offline_access, friends_location, user_location

Я уже аутентифицировал пользователя и сохранил токен автономного доступаи их идентификатор в фейсбуке.

user = User.find_by_email("person@email.com")
facebook_user = FbGraph::User.fetch(user.facebook_identifier, :access_token => user.facebook_access_token)
facebook_user.friends.map(&:location) => [nil, nil...]

Когда я проверяю разрешения изнутри Facebook, он говорит, что у меня есть доступ к местоположениям друзей:

http://grab.by/a1Qm

Моя проблема заключается в том, когдаЯ пытаюсь найти местоположение моих друзей, оно всегда возвращает ноль.У меня правильно настроены разрешения, и я знаю, что местоположение не должно быть равным нулю для всех.

У кого-нибудь есть какие-либо предложения или советы по поиску местоположений друзей?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 13 мая 2011

Так что я как могу получить необходимую мне информациюВы должны вызывать fetch после каждого вызова, поэтому

user = User.find_by_email("email@domain.com")

facebook_user = FbGraph::User.fetch(user.facebook_identifier, :access_token => user.facebook_access_token)
friends = facebook_user.fetch.friends
friends.each do |friend|
  location = friend.fetch.location
  puts location.try(:name)
end

Это дает мне данные, которые я хочу, однако это довольно медленно перебирает все и выполняет индивидуальный вызов для каждого кускаданных, поэтому я реорганизовал использование простого FQL для возврата всех необходимых мне данных.

friend_data = FbGraph::Query.new("SELECT uid, first_name, last_name, pic_square, current_location FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1='#{user.facebook_identifier}')").fetch(user.facebook_access_token)
0 голосов
/ 05 мая 2011

API-разрешения не перекрывают настройки конфиденциальности пользователя.Возможно ли, что ваши настройки конфиденциальности пользователя Facebook блокируют это?Или, возможно, все настройки конфиденциальности ваших друзей блокируют это?

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