我需要将带有我公司哈希标签的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 那么,我怎样才能展示所有这些照片?
答案 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"
}
}