PHP Instagram API 分页

PHP Instagram API Pagination

我正在 PHP 中编写一个程序,用于检索用户在 Instagram 上关注的人员列表。我遇到的问题是他们的 API 每次调用只有 returns 50 个结果,其余的是分页的。 我知道有一个 'next page',因为返回的 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,但如果用户有超过四页的关注者,或者如果他们只有 10 个关注者,那这就毫无意义了。

我曾尝试使用 if 函数来检查是否有分页和 array_merge(),但无济于事。也许我做错了。 请有人能指出我正确的方向。

谢谢,

-DH

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