Facebook JSON服务未检索到超过1000个Facebook好友


Facebook JSON Service is not retrieving more than 1000 facebook friend

我在以下代码上遇到问题,有人能解决吗?这是我的代码描述:

$friends=get_data(https://graph.facebook.com/".$facbookid."/friends?access_token=".Useraccess_token);

这是get_data函数,它返回适当的数据:

function get_data($url) {
    $ch = curl_init();
    $timeout = 5;
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
}

然后我使用了JSON服务:

$json = new Services_JSON();
$friends = $json->decode($friends);
echo "print data".$friends->data;
if (isset($friends->data))
    {   
        foreach($friends->data as $friend) 
        {
            $i++;
            $friendList[] = $friend->id;   
        }
    }

问题是,当我只有1000个朋友时,它会检索数据。但当朋友超过1000岁时,它就不起作用了。

事实上,我使用了$friends = $json->decode($friends,true);等。有人能帮我吗?

Facebook的图形API限制了结果的数量,以防止它(或您)性能不佳或内存不足。您需要使用API提供的分页功能,即limitsinceuntil参数。

除非你有充分的理由,否则最好不要更改默认限制(不去翻页不是一个好的理由)。有用的是,所有结果还包含一个paging结构,告诉您下一页(和上一页)的URL。