Я пишу программу на PHP, которая извлекает список пользователей, которые следуют на Instagram. Проблема у меня в том, что их API только возвращает 50 результатов за звонок, а остальные разбиты на страницы. Я знаю, что есть "следующая страница", поскольку возвращаемый JSON имеет pagination-> next_url. В настоящее время код, который у меня есть, получает JSON и декодирует его. Сразу же после этого выполняется вызов для получения следующей страницы с использованием URL-адреса из первого вызова API. Взгляни:
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. Затем он проверит JSON с этим URL-адресом на следующий URL-адрес и повторит. Все собранные JSON затем будут объединены в один список, который затем я смогу повторить для повторения каждого отдельного человека. Мой вопрос в том, как я могу каждый раз, когда есть разбиение на страницы, получить следующий URL-адрес, объединить JSON и повторить, пока не будет больше страниц, чтобы пройти.
Я мог бы продолжать делать $ third_page, $ four_page, но тогда это бессмысленно, если у пользователя более четырех страниц последователей и, если у них есть только 10 последователей, например.
Я попытался использовать функцию if, чтобы проверить, есть ли разбиение на страницы и array_merge(), но безрезультатно. Возможно, я делал это неправильно. Пожалуйста, может кто-нибудь указать мне в правильном направлении.
Благодаря,
-DH
вы можете взять готовый код, есть точка с pagination- https://github.com/cosenary/Instagram-PHP-API