查询被邀请参加大型活动的所有用户(> 50K用户)返回上限结果(< 5K用户)

时间:2012-10-16 00:50:51

标签: facebook facebook-graph-api facebook-fql

我正在尝试查询被邀请参加一个Facebook活动的所有Facebook UID用户。 (我正在使用这些数据来分析趋势,用户的UID是公式的关键部分。)超过50000个用户被邀请参加我想要查询的事件。为此特定事件的所有受邀用户(事件的ID为256633941116408/invited)进行Graph API查询(SELECT FROM event_member WHERE eid = 256633941116408)或FQL查询(256633941116408)时,我的结果似乎是每次限制为4932个用户。 59,161位用户被邀请参加此活动,而应该出现在API回复中。即使手动将Graph API请求限制为每页1000个,响应仍会以相同数量的邀请退出,仅在5页之后。 Facebook是否有可能不会将活动的受邀用户暴露在4932入口标记之外的公共活动中,或者我是否以错误的方式接近此事?

谢谢! -Robert

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题并且没有找到任何解决方案,但是重复“接受”“拒绝”“不确定”和“未回复”的任务以获得尽可能多的用户状态。我对超过100000个邀请的活动感兴趣。我试图通过uids限制请求也只是面对同样的欺骗。您可能想要废弃页面并对输出进行编程,但是您需要获得Facebook的许可。这是与之相关的Facebook网页:https://www.facebook.com/apps/site_scraping_tos_terms.php。如果您找到另一种方式,请告诉我们。

祝你好运!

答案 1 :(得分:0)

尝试限制和分页,如下所示:

SELECT uid FROM event_member where eid = 306212359507086 LIMIT 0,1000
SELECT uid FROM event_member where eid = 306212359507086 LIMIT 2000,1000
SELECT uid FROM event_member where eid = 306212359507086 LIMIT 3000,1000
.... until you get an empty response

还要检查您是否具有必要的权限,如果不是您的活动,您可能只会看到您的朋友。

也试试这个:

SELECT uid FROM event_member where eid = 306212359507086 
AND uid IN (SELECT uid1 FROM friend WHERE uid2=me()) LIMIT 0,1000

别忘了更改活动ID