Instagram API - Next_url not working


Instagram API - Next_url not working

伙计们,我正在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>";