私は、2人のユーザーが友達になった日付を知る方法を探していました。 this questionが見つかりましたが、複数のFQLクエリを使用して友だちページをシミュレートする方法についてのみ説明しています。友人の開始日を取得する
私が決定したいのは、友だちページのトップに表示される日付です( "Facebook friends since ...")。
私は、2人のユーザーが友達になった日付を知る方法を探していました。 this questionが見つかりましたが、複数のFQLクエリを使用して友だちページをシミュレートする方法についてのみ説明しています。友人の開始日を取得する
私が決定したいのは、友だちページのトップに表示される日付です( "Facebook friends since ...")。
この日付は、グラフAPIまたはFQLテーブルでは利用できません。あなたはFacebookで機能要求を記録したり、投稿にリンクしたものなどの回避策を使って創造的にすることができます。
私はこのことを明らかに少しハックしたようにしています。 postsエンドポイントを使用してすべての投稿を取得し、「今すぐ友だち」という単語を含む投稿を選択することができます。 story_tags
フィールドには、友人の詳細を説明するオブジェクトが含まれます。レールでは、あなたがこれを行うにはfacebook gemを使用することができます。
# 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