В одном из наших проектов основное требование было, это вывод записей с сообщества VK на сайт. Сам сайт соответственно был…
В одном из наших проектов основное требование было, это вывод записей с сообщества VK на сайт.
Сам сайт соответственно был полностью на PHP (Не CMS). В данной статье разберемся, как вывести посты из сообщества вконтакте к себе на сайт.
Так же внимательно читайте официальную документацию VK API
Для того, чтобы создать приложение переходим в раздел Для разработчиков далее в Мои приложения и нажимаем кнопку Создать
Вводим название своего приложения, и в платформе выбираем Standalone-приложение
Затем нажимаем на кнопку Подключить приложение, потребуется подтверждение через телефон.
После подтверждения по желанию заполняем поля:
И сохраняем изменения
Далее переключаемся на вкладку Настройки где мы и получим наш Token (еще раз потребуется подтверждение через телефон)
Далее представлен код, с помощью которого мы сформируем запрос на получение данных в виде ссылки
<?
$wall_id = "-20305928";
$group_id = preg_replace("/-/i", "", $wall_id); // Удаляем минус у ID групп, понадобится для ссылки.
$count = "50";
$token = "b91b4b99b91b4b99b91b4b992bb962e673bb91bb91b4b99d87dd0c77056182eda705cff";
$api_url = file_get_contents("https://api.vk.com/api.php?oauth=1&method=wall.get&owner_id={$wall_id}&count={$count}&v=5.131&access_token={$token}");
$response = json_decode($api_url, true);
?>
Разберем код и рассмотрим главные параметры:
$wall_id — ID сообщества с которого будем выводить посты
$count — Количество выводимых постов
$token — Наш токен, который мы получали изначально (не забываем прописать свой)
$api_url — Формирование ссылки на запрос
$response — Преобразование JSON-строки в массив
Выводить будем с использованием цикла foreach
<? foreach($response['response']['items'] as $post): ?>
<? if(isset($post['text'])): ?>
<div id="post<?=$post['id']?>" class="post-item">
<img src="<?=$post['attachments'][0]['photo']['sizes'][4]['url']?>" class="main-img" alt="">
<p class="post-text">
<?=$post['text']?>
</p>
<?=date("Y-m-d H:i:s", $post['date']);?><br />
<? echo '<a href="https://vk.com/wall-'.$group_id.'_'.$post['id'].'" target="_blank">https://vk.com/wall-'.$group_id.'_'.$post['id'].'</a>';?>
</div>
<? endif; ?>
<? endforeach; ?>
В данном коде мы выводим посты на страницу, отображаем превью записи, текст записи, дату публикации и полную ссылку на запись. В качестве примера использовали нашу группу. Результат должен получиться вот такой:
На момент написания статьи использовалась последняя актуальная версия API 5.131
На этом все, спасибо за внимание, если у вас возникли вопросы, пишите ниже в комментариях