【问题标题】:PHP Instagram API PaginationPHP Instagram API 分页
【发布时间】:2016-01-09 20:41:57
【问题描述】:

我正在用 PHP 编写一个程序,用于检索用户在 Instagram 上关注的人的列表。我遇到的问题是他们的 API 每次调用只返回 50 个结果,其余的都是分页的。 我知道有一个“下一页”,因为返回的 JSON 有一个 pagination->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

【问题讨论】:

    标签: php json api pagination instagram-api


    【解决方案1】:

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

    【讨论】:

    • 谢谢。这会做得很好,并且看起来很容易集成!目前我正在使用 while 循环进行迭代,我可能会对其进行编辑以使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    相关资源
    最近更新 更多