私の要件は、アプリケーションをインストールした友人のリストを見つけることです。
ここでは、入力をアプリケーション ID として提供する必要があります。このアプリケーション ID に基づいて、このアプリケーションをインストールしたユーザーを取得する必要があります。
私の要件は、アプリケーションをインストールした友人のリストを見つけることです。
ここでは、入力をアプリケーション ID として提供する必要があります。このアプリケーション ID に基づいて、このアプリケーションをインストールしたユーザーを取得する必要があります。
avs099 の回答よりも高速 (1 回の呼び出し):
/me/friends?fields=installed
そのアプリのアクセス トークンを使用して、 (または/USER_ID/friends?fields=installed
アプリ アクセス トークンに対して) API 呼び出しを行います。
それは比較的簡単です:
https://graph.facebook.com/me/friends呼び出しを使用して友達のリストを取得します(そのためにGraph API Explorerを使用できます)
友達ごとに、彼のIDを取得し、次のGraph APIにリクエストを送信します:https ://graph.facebook.com/FRIEND_ID?access_token = APP_ID | APP_SECRET& fields = installed
注:ドキュメントに従って、fields=installedが必要です
あなたが何かを取り戻すなら
{"インストール済み":true、 "id":"FRIEND_ID"}
つまり、友達がそのアプリをインストールしているということです。IDが戻ってきただけの場合は、アプリがインストールされていません。
APP_IDとAPP_SECRETは、アプリのページにあります。
お役に立てば幸いです。
Koalaを使用している場合は、この方法で実行できます
コントローラー内 user.rb
@user = User.all
モデル内 user.rb
def friends_using_app
facebook { |fb| fb.get_connection("me", "friends?fields=installed") }
end
ビューで
<% friends = current_user.friends_using_app %>
<% friends_using_app = friends.find_all {|x| x['installed'] == true} %>
<% friends_id = friends_using_app.map {|x| x['id']} %>
<% show_friends = @user.find_all{|x| x[:uid] = friends_id} %>
<% show_friends.each do |x| %>
<%= image_tag x.avatar %>
<% end %>
私は同じ問題に直面していましたが、FQL で Facebook API を使用することにまだ少し曖昧でした。Facebook の FQL ページはほとんど役に立たなかったので、先に進んで、将来これに苦戦する可能性のある人のために簡単な解決策を書きました。
Facebook PHP SDK を使用している場合は、長い FQL ソリューションを数行に凝縮できると言っておけば十分でしょう。 私の Facebook API ソリューション