我需要监控facebook群组用户的数量并在网站上显示。我知道可以使用他们的API获取用户ID,但它们仅限于500(如果成员总数为500+)。
获取我已设置的Facebook群组的会员总数最简单的方法是什么?这有可能吗?
答案 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的代码 - 似乎没有限制结果的目的。这至少是我看的方向。
祝你好运。