У скрипта нужно поменять 2 поля:
$inst_userid = "000000000";
- меняем на идентификатор$inst_accessToken = "00000008000.0000000.00000000000000000000000000000000";
- полученный токен
У скрипта нужно поменять 2 поля:
$inst_userid = "000000000";
- меняем на идентификатор $inst_accessToken = "00000008000.0000000.00000000000000000000000000000000";
- полученный токен<? | |
function instagramAgent() | |
{ | |
// Аутентификация | |
$inst_userid = "000000000"; | |
$inst_accessToken = "00000008000.0000000.00000000000000000000000000000000"; | |
// Получаем данные | |
function fetchData($url) | |
{ | |
$ch = curl_init(); | |
curl_setopt($ch, CURLOPT_URL, $url); | |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); | |
curl_setopt($ch, CURLOPT_TIMEOUT, 20); | |
$inst_result = curl_exec($ch); | |
curl_close($ch); | |
return $inst_result; | |
} | |
// Парсим с api и выводим массив | |
$inst_result = fetchData("https://api.instagram.com/v1/users/self/media/recent/?access_token=$inst_accessToken&count=7"); | |
// Преобразовываем в массив | |
$inst_result = json_decode($inst_result, true); | |
return $inst_result['data']; | |
} | |
//Делаем пременную глобальной | |
//(Я думаю в коде понятней откуда корни растут данной переменной) | |
global $instagram_gallery; | |
//Создаем объект кеша (d7) | |
use \Bitrix\Main\Data\Cache; | |
$obCache = Cache::createInstance(); // получаем экземпляр класса | |
//Время жизни кеша | |
$life_time = 86000; | |
//Проверяем не истек ли кеш | |
if ($obCache->initCache($life_time, "instagram_cache")) { | |
$arCache = $obCache->getVars(); | |
$instagram_gallery = $arCache["instagram_gallery"]; | |
} else { | |
// Если не было кеша, то начинаем его запись. После пременная будет как ключ массива | |
$instagram_gallery = instagramAgent(); | |
} | |
// если кеш есть, то просто выводится содержимое кеша | |
if ($obCache->startDataCache()) { | |
$obCache->endDataCache(array("instagram_gallery" => $instagram_gallery)); | |
} |
<p>Вывод:</p> | |
<?foreach ($GLOBALS['instagram_gallery'] as $item){?> | |
<div > | |
<a href="<?=$item['link']?>" target="_blank"> | |
<img src="<?=$item['images']['low_resolution']['url']?>" alt="Instagram <?=$item['user']['full_name'].' - '.$item['id']?>"> | |
</a> | |
</div> | |
<?}?> |