PHP Instagram API Pagination


PHP Instagram API Pagination

我正在用PHP编写一个程序,用于检索用户在Instagram上关注的列表。我遇到的问题是,他们的API每次调用只返回50个结果,其余的都是分页的。我知道有一个"下一页"作为返回的JSON有分页->next_url。目前,我拥有的代码获取JSON并对其进行解码。紧接着,使用第一个API调用中的URL进行调用以获取下一个页面。看一下:

    function getFollows($url){
        $client_id = "my client id";
        //echo "A url: ".$url."</br>";
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_TIMEOUT, 20);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        $result = curl_exec($ch);
        curl_close($ch);
        return json_decode($result);
        }
    $url = 'https://api.instagram.com/v1/users/'.$user_id.'/follows/?client_id='.$client_id.'&access_token='.$token;
    $first_page = getFollows($url);
    $second_page = getFollows($first_page->pagination->next_url);

我想做的是检查JSON中的下一个url,并调用next_url。然后,它将检查来自该url的JSON以查找下一个url并重复。然后,所有收集到的JSON将合并到一个列表中,然后我可以遍历该列表以回显每个人。我的问题是我怎么能每次都有分页,得到下一个url,合并JSON并重复,直到没有更多的页面要通过。

我可以继续设置$third_page, $fourth_page,但是如果用户有超过4个页面的关注者,如果他们只有10个关注者,那么这是毫无意义的。

我已经尝试使用if函数来检查是否有分页和array_merge(),但无济于事。也许我做错了。谁能给我指个正确的方向?

谢谢,

dh

你可以拿一个现成的代码,有一个点与分页- https://github.com/cosenary/Instagram-PHP-API