web-dev-qa-db-ja.com

Facebookユーザーの友達の総数をuidで数えるにはどうすればよいですか?

Facebookユーザーの友達の総数をuidで数えるにはどうすればよいですか?

16
fajars

クエリできるuserテーブルに対する_friend_count_フィールドがあります。

_SELECT friend_count FROM user WHERE uid = me()
_

me()をクエリするユーザーのUIDに置き換えるだけです。

35

@スコット

これは非常にうまくいきます、私はそれが期待していませんでした:)

https://graph.facebook.com/fql?q=SELECT friend_count FROM user WHERE uid = 273103345

GraphAPIの友達ではないランダムなユーザーIDで試してみました。ただし、いくつかのランダムなuidの場合、nullが返され、ページであると推測されます。

14
BST

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

8
Dante Cullari

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の質問:

FQL結果数

Friend テーブルの参照:

このテーブルをクエリして、2人のユーザーが友達としてリンクされているかどうかを確認します。

3
Kelsey

これが私の解決策です...うまくいきます!

$myfriends = $facebook->api('/XXXXXXX152466/friends');
$friendcount =  COUNT($myfriends['data']) + 1;

XXXXXXX152466をFacebookプロファイルID#に置き換えます

Facebookの使用PHP SDKとグラフAPI!

1
Brandon

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);
   }
});
1
marmor

私が言っているうちに、PhpSDKでFacebookGraphAPIを使用している友達の数を数える方法はたくさんあります。

$fbuser=$fb->api('/me/friends');
$access_token = $fb->getAccessToken();


$friend_count=0;
foreach($fbuser['data'] as $friends)
{
  $friends_count++;
}

完全なチュートリアルについては、この記事をご覧ください FBフレンド数の取得

0
Talib Hassan