是否有可能/如何获得特定Facebook群组成员的数量(即使他们的数量是500+)?

时间:2008-11-27 12:44:45

标签: facebook

我需要监控facebook群组用户的数量并在网站上显示。我知道可以使用他们的API获取用户ID,但它们仅限于500(如果成员总数为500+)。

获取我已设置的Facebook群组的会员总数最简单的方法是什么?这有可能吗?

3 个答案:

答案 0 :(得分:3)

如果你写了一个http机器人,那么废弃它应该不是很难,因为实时性能不是关键。

答案 1 :(得分: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 )

答案 2 :(得分:0)

根据Groups.getMembers的文档,无法获取&gt; 500个具有API调用的组成员。更糟糕的是,您似乎只能获得500个随机成员。

您可能需要考虑使用Facebook Connect与您的网站。我不是Connect的专家,但我相信你使用它不会有这个问题,因为你实际上是在编写特定于Facebook的代码 - 似乎没有限制结果的目的。这至少是我看的方向。

祝你好运。