[英]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.