繁体   English   中英

PHP Instagram API分页

[英]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);

我想做的是检查下一个URL的JSON并调用next_url。 然后它将检查该URL的JSON是否为下一个URL,然后重复。 然后将所有收集的JSON合并到一个列表中,然后我可以迭代该列表以回显每个人。 我的问题是,如何在每次出现分页时获取下一个URL,合并JSON并重复进行,直到没有更多页面可以浏览。

我可以继续制作$ third_page,$ fourth_page,但是如果用户有四个以上的关注者页面,并且例如只有10个关注者,那那将毫无意义。

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

谢谢,

-DH

您可以获取现成的代码,还有分页功能-https ://github.com/cosenary/Instagram-PHP-API

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM