2

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

获得注册我设置的 Facebook 群组的成员总数的最简单方法是什么?这是可能吗?

4

3 回答 3

3

如果你编写一个 http bot,它应该不会很难废弃,因为实时性能不是关键。

于 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 特定的代码——似乎没有任何限制结果的目的。至少我会朝这个方向看。

祝你好运。

于 2009-01-28T15:39:47.883 回答