为什么我收到“由于资源限制,无法完成此API调用”

时间:2010-07-19 18:50:25

标签: facebook

  

Facebook.Utility.FacebookException:   无法完成此API调用   由于资源限制

为什么我在调用_facebookAPI.Events.GetMembers(eid)时收到此信息;有没有解决方法?

我的活动有5000多名用户。

2 个答案:

答案 0 :(得分:1)

我最近开始从一些FQL查询中获取此信息。对于FQL至少,它似乎与响应大小完全无关 - 我能够返回很多,超过5k的数据。

突破限制的内容包括我的用户查询中的mutual_friend_count。 500个用户的价值有时会打破限制,大部分时间都会达到1000,而如果我删除那一列,我可以提取数千个(即使我再添加10个)。

对于daaku的“是uid x参加活动y”,您可以在FQL中执行此操作:

select eid, uid, rsvp_status from event_member where eid = <event id> and uid = <user id>

或者在图谱API中(还有一些关于事件的其他列表):

https://graph.facebook.com/<event id>/attending

这两种方法都允许限制/偏移,这将超过可能仍会发生的任何此类限制:

select eid, uid, rsvp_status from event_member where eid = <event id> and uid = <user id> limit X offset Y
-- or --
https://graph.facebook.com/<event id>/attending?limit=X&offset=Y

而且,虽然我意识到这比发布问题的时间要晚一些:你应该从REST API迁移到FQL或Graph API,这两者都远,比REST API更强大。

答案 1 :(得分:0)

由于性能原因,如果大于5k,则目前无法获取整个列表。根据您对这些数据的处理方式,您可以提出一个更有限的问题:“是否是参加活动Y”。