Получить дату начала дружбы
Я искал способ узнать дату, когда два пользователя стали друзьями. Я нашел этот вопрос, но он только объясняет, как смоделировать страницу дружбы с несколькими FQL-запросами.
То, что я хочу определить, это дата, которую вы можете увидеть в верхней части страницы дружбы ("Друзья Facebook с тех пор...").
2 ответа
Эта дата недоступна через API Graph или таблицы FQL. Вы можете зарегистрировать запрос функции в Facebook или проявить творческий подход с помощью обходных путей, таких как те, которые вы указали в сообщении.
Я сделал это способом, который по общему признанию немного хакерский. Вы можете использовать конечную точку сообщений, чтобы получить все сообщения, а затем выбрать сообщения, содержащие слова "теперь друзья". story_tags
Поле будет содержать объект, описывающий детали друга. В рельсах вы можете использовать гем facebook, чтобы сделать это:
# To retrieve your friendship start dates
user = {fb_id: <your fb id>, auth_token: <your fb auth token>}
fb_user = FbGraph::User.me(user[:auth_token])
posts = fb_user.posts(:since => 10.days.ago.to_i, :until => Time.now.to_i)
posts = posts.reject{|p| p.story.nil? || (!p.story.include?("now friends"))}
posts.each do |p|
p.story_tags.each do |t|
unless t.identifier == user[:fb_id]
puts "You became friends with #{t.name} at #{p.created_time}"
end
end
end
Какие выводы:
You became friends with Christina Ricci at 2013-01-12 20:34:58 UTC
You became friends with Michael Jordon at 2013-01-09 19:51:51 UTC
You became friends with Barack Obama at 2013-01-04 19:06:51 UTC