Задать вопрос
@Tw1L1ght

В чем может быть проблема вывода данных на сайт из VK API?

Делаю запрос к API VK, чтобы выгрузить на сайт посты из группы:

<?php
$group_domain = 'тутназваниегруппы';
$request_params = array(
    'domain' => $group_domain,
    'v' => '5.199',
    'access_token' => 'мойапиключ'
);
$get_params = http_build_query($request_params);
$result = json_decode(file_get_contents('https://api.vk.com/method/wall.get?' . $get_params));

$output = '';

foreach( $result->response->items as $post ) {
  if (!empty($post->text )) {
    $output .= '<li>';
    $output .= '<span style="display: block;">' . $post->text . '</span>';
    $output .='<div class="image-gallery">';
    foreach( $post->attachments as $key => $value ) {
    	$output .= '<img style="width: 300px; aspect-ratio: 3/2; object-fit: cover;" src="' . $post->attachments[$key]->photo->sizes[9]->url . '" />';
    	}
    	$output .= '</div>';
    	$output .= '</li>';
  	}
  else {
    continue;
  }
}

echo $output;
?>


Проблем с запросом нет, что подтвердили и в поддержке ВК. Но почему-то некоторые изображения не вытягиваются из файла ответа, выдавая повторяющиеся ошибки:
Warning: Undefined property: stdClass::$photo in *адресайта*/public_html/wp-content/themes/bricks/includes/elements/code.php(216) : eval()'d code on line 19 Warning: Attempt to read property "sizes" on null in *адресайта*/public_html/wp-content/themes/bricks/includes/elements/code.php(216) : eval()'d code on line 19 Warning: Trying to access array offset on value of type null in *адресайта*/public_html/wp-content/themes/bricks/includes/elements/code.php(216) : eval()'d code on line 19 Warning: Attempt to read property "url" on null in *адресайта*/public_html/wp-content/themes/bricks/includes/elements/code.php(216) : eval()'d code on line 19


P.S. В php новичок
  • Вопрос задан
  • 389 просмотров
Подписаться 3 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Видимо нет такого изображения, точнее размера с индексом 9.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы