Проблемы со сниппетом
Возникли проблемы с API.
В сниппете не я не указывал версию, по которой запрашивали с VK. Вроде как выдавало старой версией.
Сейчас смотрю. Не выводятся результаты.
Тогда
Посмотрел, что в echo query;
Результат:
Написал в строку
Тогда результат есть prntscr.com/ihu6qr
Убираю echo $query; и страница вешается HTTP ERROR 500.
Вот такой код. Упрощённая код для теста.
В сниппете не я не указывал версию, по которой запрашивали с VK. Вроде как выдавало старой версией.
Сейчас смотрю. Не выводятся результаты.
Тогда
Посмотрел, что в echo query;
Результат:
{«error»:{«error_code»:8,«error_msg»:«Invalid request: v (version) is required»,«request_params»:[{«key»:«oauth»,«value»:«1»},{«key»:«method»,«value»:«photos.get»},{«key»:«owner_id»,«value»:"-85317162"},{«key»:«album_id»,«value»:«244474587»},{«key»:«rev»,«value»:«1»},{«key»:«extended»,«value»:«0»},{«key»:«feed_type»,«value»:«photo»},{«key»:«count»,«value»:""}]}}Вот я думаю он ругается на версию.
Написал в строку
$query = file_get_contents('https://api.vk.com/method/photos.get?owner_id=-'.$owner_id.'&album_id='.$album_id.'&rev='.$rev.'&extended='.$extended.'&feed_type='.$feed_type.'&count='.$count.'&v=5.73');последнюю версию.
Тогда результат есть prntscr.com/ihu6qr
Убираю echo $query; и страница вешается HTTP ERROR 500.
Вот такой код. Упрощённая код для теста.
<?php
// VK API
$owner_id = $modx->getOption('owner_id', $scriptProperties, '85317162'); // Группа
$album_id = $modx->getOption('album_id', $scriptProperties, '244474587'); // Альбом
$rev = $modx->getOption('rev', $scriptProperties, '1'); // 1 новые сверху
$extended = $modx->getOption('extended', $scriptProperties, '0'); // Расширенные поля
$feed_type = $modx->getOption('feed_type', $scriptProperties, 'photo'); // photo, photo_tag
$count = $modx->getOption('count', $scriptProperties, ''); // Количество загружаемых фото
$class = $modx->getOption('class', $scriptProperties, '');
$tpl = $modx->getOption('tpl', $scriptProperties, '@INLINE <li><img src="[[+photo_75]]"></li>');
$query = file_get_contents('https://api.vk.com/method/photos.get?owner_id=-'.$owner_id.'&album_id='.$album_id.'&rev='.$rev.'&extended='.$extended.'&feed_type='.$feed_type.'&count='.$count.'&v=5.73');
$result = json_decode($query, true); // Декодируем полученный json массив
//echo $query;
$response = $result['response'];
$output = '';
$pdo = $modx->getService('pdoTools');
foreach ($response as $res) {
$res['class'] = $class;
$output .= $pdo->getChunk($tpl, $res);
}
return $output; Комментарии: 2
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
$response = $result['response']['items'];
Вообщем. Работающий код с новой версией api теперь такой. Пагинация и кеширование(за это спасибо Алексею Ерохину).
Вывод описан тут vk.com/dev/photo