好的,通常我对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
}