2

Facebookグループのユーザー数を監視し、ウェブサイトに表示する必要があります。API を使用してユーザー ID を取得できることは知っていますが、500 に制限されています (メンバーの総数が 500 以上の場合)。

私が設定した Facebook グループにサインアップしたメンバーの総数を取得する最も簡単な方法は何ですか? これはまったく可能ですか?

4

3 に答える 3

3

http ボットを作成した場合、リアルタイムのパフォーマンスが重要ではないことを考えると、破棄するのはそれほど難しくありません。

于 2008-11-27T14:38:11.450 に答える
2

次のような FQL クエリを使用して実行できます。

SELECT uid FROM group_member WHERE gid = <group_id> limit 500
SELECT uid FROM group_member WHERE gid = <group_id> limit 500 offset 500
SELECT uid FROM group_member WHERE gid = <group_id> limit 500 offset 1000
...

メンバー数を取得する

ループ内で(結果が0になるまで)実行すると、グループメンバーの総数が得られます

    perPage = 500
    for count in range(100):
        res = fql('SELECT uid FROM group_member WHERE gid = %s limit %d offset %d' % (fbUserId, perPage, perPage * count))
        if len(res) == 0:
            break
        friends += len(res)

メンバーの詳細を取得する

ユーザー FQL テーブルと結合して、すべてのユーザーの詳細を取得することもできます。

SELECT uid, name, pic_square FROM user WHERE uid IN ( 
         SELECT uid FROM group_member WHERE gid = <group_id> limit 500 offset %d )
于 2011-12-03T23:37:16.153 に答える
0

ドキュメントによるGroups.getMembersと、API 呼び出しで 500 を超えるグループ メンバーを取得することはできません。さらに悪いことに、500 人のランダムメンバーしか獲得できないようです。

代わりに、サイトで Facebook Connect を使用することを検討してください。私はConnectの専門家ではありませんが、実際にFacebook固有のコードを書いているので、Connectを使用してもこの問題は発生しないと思います.結果を制限する目的はないようです. 少なくとも、それが私が見ている方向です。

幸運を。

于 2009-01-28T15:39:47.883 に答える