Как получить 5 записей (текст, URL картинки) с сообщества ВКонтакте на JS или PHP
Не получается
header('Content-type: text/html; charset=utf-8');
$wall_id="-95098766"; // Положительное число: пользователь. Отрицательное: группа.
$count="20"; // Количество записей, которое необходимо получить. Максимальное значение: 100.
$api = file_get_contents("http://api.vk.com/method/wall.get?owner_id={$wall_id}&count={$count}");
$wall = json_decode($api,true);
foreach ($wall['response'] as $item => $result) {
echo $result['text'].'<hr/>';
}
Как уже сказал @Eddir, у вас отсутствует обязательный параметр access_token, прочтите официальную документацию для чего он используется, как его можно и нужно получить.
В последнем своем ответе тоже описывал запросы к VK API, там написал две функции curl и vk, для удобства отправки запросов, рекомендую ознакомиться с ними и использовать Вот код, который вам нужен с использованием вышеописанных функций:
$access_token = 'b037e92e5c403113449f2b3962279bgf341f5934d22';
$owner_id = '-95098766';
$count = 5;
$get = vk('wall.get', [
'owner_id' => $owner_id,
'v' => '5.85',
'access_token' => $access_token,
'count' => $count
]);
// Если ответ response, то продолджаем
if (isset($get->response))
{
// Продолджаем работу, если записей больше 0
if ($get->response->count > 0)
{
// Проходим циклом по полученным записям и записываем в массив c ключом
// [id] (id записи), а в зачение[] записывается подмассив с фото
foreach ($get->response->items as $key => $value)
{
$new[$value->id] = [
'text' => $value->text,
'photo' => ($value->attachments[0]->photo) ? $value->attachments : 0
];
}
}
// Выводим на экран наш собранный массив, и делаем с ним что угодно,
// например далее получаем из его ссылки на изображения
print_r($new);
}
Важно: в примере работа с объектами, а не с массивами, если вам нужно из объекта $new получить обычный массив $new, то $new = (array) $new; Полный код на pastebin. Вот и все :)
upd: Совсем забыл, что вам нужен еще и текст, тогда вообще никаких проблем, исправил.
Ваш код не работает по причине того, что Вы не указали access_token в url запроса. Советую использовать хотя бы минимальные средства дебага, как var_dump. Сразу после file_get_contents пропишите var_dump($api); , чтобы знать наверняка, что вернул Вам в ответ ВК.
А для того, чтобы сделать алгоритм рабочим, изучите способы получения access_token по ссылке https://vk.com/dev/access_token . Проще всего получить токен сообщества или сервисный токен.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости