伙计们,我正在Instagram PHP API周围工作,以获取Instagram中特定标签的所有图像/帖子。
这是我的代码:
<?PHP
function callInstagram($url)
{
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 2
));
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$tag = "bulgaria";
$client_id = "1e0f576fbdb44e299924a93cace24507";
$Next_URL = $_GET["nexturl"];
if($Next_URL == ""){
$url = 'https://api.instagram.com/v1/tags/'.$tag.'/media/recent?client_id='.$client_id.'&count=24';
} else {
$url = $Next_URL;
}
$inst_stream = callInstagram($url);
$results = json_decode($inst_stream, true);
$maxid = $results['pagination']['next_max_id'];
$nexturl = $results['pagination']['next_url'];
//Now parse through the $results array to display your results...
foreach($results['data'] as $item){
$image_link = $item['images']['thumbnail']['url'];
$Profile_name = $item['user']['username'];
echo '<div style="display:block;float:left;">'.$Profile_name.' <br> <img src="'.$image_link.'" /></div>';
}
echo "<div style='display:block;width:100%;clear:both;'>MaxID: $maxid <br>NextURL: <a href='?nexturl=$nexturl'>Next images</a> <br>N: $Next_URL</div>";
当页面在Next images
上首次加载时,我得到以下a href链接http://myweb.com/instagram?nexturl=https://api.instagram.com/v1/tags/bulgaria/media/recent?count=24&client_id=1e0f576fbdb44e299924a93cace24507&max_tag_id=1427645740441335
当我点击Next images
并打开页面时,我没有像第一次加载时那样加载图像。
请复制代码并进行测试。
我想进行某种分页,这样当我点击Next images
时,下一组24张带有标签bulgaria
的图像将被加载到页面上。
你能告诉我我的错误在哪里吗?
提前感谢!
您需要使用urlencode()
函数对$nexturl
字符串进行编码。
您可以将代码中的最后一行替换为以下两行:
$nextUrlEncoded = urlencode($nexturl);
echo "<div style='display:block;width:100%;clear:both;'>MaxID: $maxid <br>NextURL: <a href='?nexturl=$nextUrlEncoded'>Next images</a> <br>N: $Next_URL</div>";