代码之家  ›  专栏  ›  技术社区  ›  Tom

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

  •  1
  • Tom  · 技术社区  · 15 年前

    facebook.utility.facebook例外: 无法完成此API调用 由于资源限制

    为什么我在调用facebookapi.events.getmembers(eid)时会收到此消息;是否有解决方法?

    我的活动有5000多个用户。

    2 回复  |  直到 13 年前
        1
  •  0
  •   daaku    15 年前

    由于性能原因,如果列表大于5公里,则当前无法获取整个列表。根据您希望如何处理这些数据,您可以提出一个更有限的问题“是Uid x参加活动Y”。

        2
  •  1
  •   Groxx    13 年前

    我最近开始从一些FQL查询中获取这个信息。至少对于FQL来说,它似乎与响应大小完全无关——我可以返回很多、超过5千的数据。

    什么 打破限制是在我的用户查询中包括共同的朋友计数。价值500的用户有时会打破这个限制,大多数情况下会有1000个,而如果我删除其中一个列(即使我再加10个),我可以拉几千个。

    对于Daaku的“is uid x attenting event 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
    

    而且,尽管我意识到这比问题发布的时间晚了很多:您应该从RESTAPI迁移到FQL或图形API,两者都很遥远, 远的 比其他API更强大。

    推荐文章