没有获得具有相同标签的完整数量的图片

时间:2013-09-04 10:53:07

标签: php instagram hashtag

我需要将带有我公司哈希标签的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 = 'hermomy';
$client_id = 'my client id';

$url = 'https://api.instagram.com/v1/tags/'.$tag.'/media/recent?client_id='.$client_id;

$inst_stream = callInstagram($url);
$results = json_decode($inst_stream, true);

//Now parse through the $results array to display your results... 
foreach($results['data'] as $item){
    $image_link = $item['images']['low_resolution']['url'];
    echo '<img src="'.$image_link.'" />';
}
?>

*我已经将“我的客户端ID”替换为我的真实客户端ID

之后我得到的结果只显示了13张照片,右边应该有373张照片。 您可以查看http://web.stagram.com/tag/hermomy/。使用此哈希标记共计约373张照片 - #hermomy 我的结果页面 - 103.6.244.109/~hermo/ayeetest.php 那么,我怎样才能展示所有这些照片?

2 个答案:

答案 0 :(得分:0)

其他人可能会更好地回答,但这似乎不可能看到api。

您只看到13的原因是您使用的网址仅适用于最近的媒体。请参阅Tag Endpoint

答案 1 :(得分:0)

Instagram API不会通过一次API调用返回所有照片,我认为每次调用最多返回20张照片。在进行第一次API调用之后,您必须使用JSON响应的“分页”中的“next_url”来进行另一个API调用以获取下一组20个图像,例如,您可能必须实现“显示更多”按钮,将加载下一组等等。

以下是您从Instagram API获得的典型回复,在pagination.next_url向API网址发出请求会返回下一组照片。

{
    "meta": {
        "code": 200
    },
    "data": {
        ...
    },
    "pagination": {
        "next_url": "...",
        "next_max_id": "13872296"
    }
}