PHP-Facebook API:为事件计数参与者(限制问题)

好的,通常我对facebook API都很好,但是我遇到了一个问题,这让我一直纳闷. (我认为这是个错误(请检查票号http://bugs.developers.facebook.net/show_bug.cgi?id=13694),但是如果有人有想法,我想把它扔在这里).

我正在使用Facebook PHP库来计算特定事件的所有与会者

$attending = $facebook->api('/'.$fbparams['eventId'].'/attending');

这没有问题,它正确地返回了一个包含所有与会者的数组…

现在这是一个问题:

此活动目前有大约18.000名参与者.
api调用最多返回992位参与者(而不是应该的18000位参与者).

我试过了

$attending = $facebook->api('/'.$fbparams['eventId'].'/attending?limit=20000');

进行测试,但没有任何改变.

所以我的实际问题是:

如果我不能通过图API使其正常工作,那将是一个很好的选择吗? (也许解析事件页面的html?)现在,我每隔几个小时手动更改一次值,这很繁琐且不必要.

解决方法:

实际上有两个参数,极限和偏移.我认为您将必须同时使用这两者,并继续拨打电话,直到返回的收益低于最高收益为止.限制.

像这样,但是以递归的方式(我正在写伪代码):

offset = 0;
maxLimit = 992;
totalAttendees = count(result)

if (totalAttendees >= maxLimit)
{
  // do your stuff with each attendee
  offset += totalAttendees;
  // make a new call with the updated offset
  // and check again
}
上一篇:JavaScript-Facebook请求2.0过滤器


下一篇:javascript-获取Facebook页面帖子