[英]Instagram API pagination in PHP
我试图仅使用PHP(无数据库)创建一个小型instagram应用,并且没有获取access_token
(仅我的client_id)。 到目前为止一切顺利(即输入user_id返回最近30天的照片,并在表中带有likes-count和created_time),直到分页为止。 不出所料,我想点击一个“更多”按钮,该按钮会加载下一个json文件并向现有表中添加其他照片 ,但它在那里分崩离析...这是我得到的,正在工作,除了分页尝试。
注意:这是一个内部应用程序,因此如果暴露了我的client_id,则它的敏感性不是问题
<?php
if (!empty($_GET['user_id'])){
$user_id = ($_GET['user_id']);
$instagram_url = 'https://api.instagram.com/v1/users/' . $user_id . '/media/recent/?client_id=MY_CLIENT_ID';
$instagram_json = file_get_contents($instagram_url);
$instagram_array = json_decode($instagram_json, true);
}
?>
...
<?php
if(!empty($instagram_array)){
$instagram_array['pagination'] as $page { // Attempt at pagination
echo '<p>' .$page['next_url'].'</p>'; // Attempt at pagination
} // Attempt at pagination
foreach($instagram_array['data'] as $image){
if ($image['created_time'] > strtotime('-30 days')) {
echo '<tr>';
echo '<td>' . date('M d, Y', $image['created_time']) . '</td>';
echo '<td>'.$image['likes']['count'].'</td>';
echo '<td><img src="'.$image['images']['standard_resolution']['url'].'" alt=""/ style="max-height:40px"></td>';
echo '</tr>';
}
}
}
?>
</body>
</html>
注意:这是从其他几个方面收集来的-我完全是菜鸟,所以如果我需要一点帮助,请原谅我... :)
您可以指定min_timestamp以返回比此时间戳晚的媒体
https://api.instagram.com/v1/users/{user_id}/media/recent/?access_token={access_token}&min_timestamp={min_timestamp}
$ instagram_array ['pagination'] ['next_url']应该删除,它可能包含您的访问令牌,这是明智的数据,必须始终不可见。
list_ig.php
<?
$user_id = "...";
$access_token = "...";
//30 day ago
$min_timestamp = strtotime("-30 day",time());
//pagination feature
$next_max_id = $_GET['next_max_id'];
$instagram_url = "https://api.instagram.com/v1/users/" . $user_id . "/media/recent/?access_token=" .$access_token. "&min_timestamp=" . $min_timestamp;
if($next_max_id != "")
$instagram_url .= "&max_id=" . $next_max_id;
$instagram_json = file_get_contents($instagram_url);
$instagram_array = json_decode($instagram_json ,true);
?>
<? if( $instagram_array['pagination']['next_max_id'] != "" ): ?>
<a href="list_ig.php?next_max_id=<?=$instagram_array['pagination']['next_max_id']?>">More</a>
<? endif;?>
.... print instagram data....
Instagram AJAX演示
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.