Facebookユーザーの友達の総数をuid
で数えるにはどうすればよいですか?
クエリできるuser
テーブルに対する_friend_count
_フィールドがあります。
_SELECT friend_count FROM user WHERE uid = me()
_
me()
をクエリするユーザーのUIDに置き換えるだけです。
@スコット
これは非常にうまくいきます、私はそれが期待していませんでした:)
https://graph.facebook.com/fql?q=SELECT friend_count FROM user WHERE uid = 273103345
GraphAPIの友達ではないランダムなユーザーIDで試してみました。ただし、いくつかのランダムなuidの場合、nullが返され、ページであると推測されます。
FQLは2014年10月に非推奨になりました。FacebookのFAQ:
2014年7月22日火曜日の時点で、/ v2.2/me/friendsへの応答でsummaryプロパティ内のtotal_countフィールドを返すようになりました。
ユーザー/友達エンドポイントは、アプリを使用する友達の実際のリストを返すためにuser_friends権限を必要としますが、このuser_friends権限が付与されていなくても、友達数フィールドは返されます。応答例:
{
"data": [
],
"summary": {
"total_count": 811
}
}
完全なFAQ: https://developers.facebook.com/docs/apps/faq#total_friend_count
COUNT
はFQLではサポートされていません:
SELECT uid2
FROM friend
WHERE uid1 = USERID
COUNT
はサポートされていないため、すべてのレコードを取得してから、SQL呼び出しを行っているアプリケーションでそれらをカウントする必要があります。
名前やカウントなどの詳細情報を取得したい場合は、内部選択を使用して友人の拡張情報を取得できます。
SELECT name
FROM user
WHERE uid IN (SELECT uid2
FROM friend
WHERE uid1 = USERID)
関連するSOの質問:
Friend テーブルの参照:
このテーブルをクエリして、2人のユーザーが友達としてリンクされているかどうかを確認します。
これが私の解決策です...うまくいきます!
$myfriends = $facebook->api('/XXXXXXX152466/friends');
$friendcount = COUNT($myfriends['data']) + 1;
XXXXXXX152466をFacebookプロファイルID#に置き換えます
Facebookの使用PHP SDKとグラフAPI!
Facebook API 2.0
you Facebookの友達の完全なリストを取得できません で始まり、アプリを承認した友達のリストの一部のみです。
友達の総数を取得することはできますが、Graph API ser/friends には、カウントをtotal_count
として含むフィールドsummary
があります。
したがって、次を使用して取得できます。
FB.api("/me/friends", function (response) {
if (response && !response.error) {
console.log(response.summary.total_count);
}
});
私が言っているうちに、PhpSDKでFacebookGraphAPIを使用している友達の数を数える方法はたくさんあります。
$fbuser=$fb->api('/me/friends');
$access_token = $fb->getAccessToken();
$friend_count=0;
foreach($fbuser['data'] as $friends)
{
$friends_count++;
}
完全なチュートリアルについては、この記事をご覧ください FBフレンド数の取得