json — разбиение на страницы Instagram API в переполнении стека

Я пытаюсь создать небольшое приложение Instagram на PHP только (без базы данных) и без получения access_token (только мой client_id). Пока все хорошо (то есть, ввод user_id возвращает фотографии за последние 30 дней с количеством лайков и созданным временем в таблице), пока я не доберусь до нумерации страниц. Как и ожидалось, я хочу нажать кнопку «еще», которая загружает следующий файл 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>

Примечание: это сделано из нескольких других источников — я абсолютный новичок, поэтому, пожалуйста, прости меня, если мне нужно немного подержать … 🙂

0

Решение

Вы можете указать 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 Демо

http://jsfiddle.net/ajhtLgzc/

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]