@andrey_levushkin

Не корректно работает скрипт по загрузке фотографии в альбом группы ВКонтакте. Что делать?

Данный скрипт должен загружать фотографию в альбом группы ВК. На видео всё работает у человека:

У меня же при выполнении выходит ошибки:

Notice: Undefined property: stdClass::$response in /test.php on line 14
14 строка кода:
$url = json_decode($url)->response->upload_url;

И ошибка:
Notice: Trying to get property of non-object in /test.php on line 14
Array ( [error] => Array ( [error_code] => 8 [error_msg] => Invalid request: v (version) is required [request_params] => Array ( [0] => Array ( [key] => oauth [value] => 1 ) [1] => Array ( [key] => method [value] => photos.save ) [2] => Array ( [key] => server [value] => ) [3] => Array ( [key] => photos_list [value] => ) [4] => Array ( [key] => album_id [value] => ) [5] => Array ( [key] => hash [value] => ) [6] => Array ( [key] => gid [value] => тут_id_группы ) ) ) )

Сам скрипт:
<?php
// Только STANDALONE TOKEN
$token = 'token';

$group_id = 'id';
$album_id = 'id';
$v = '5.62'; //версия vk api
$image_path = dirname(__FILE__).'/111.jpg';//путь до картинки
$post_data = array("file1" => '@'.$image_path);

// получаем урл для загрузки
 $url = file_get_contents("https://api.vk.com/method/photos.getUploadServer?album_id=".$album_id."&group_id=".$group_id."&v=".$v."&access_token=".$token);
$url = json_decode($url)->response->upload_url;
//print_r($url);

// отправка post картинки
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = json_decode(curl_exec($ch),true);
//print_r($result);

// сохраняем
$safe = file_get_contents("https://api.vk.com/method/photos.save?server=".$result['server']."&photos_list=".$result['photos_list']."&album_id=".$result['aid']."&hash=".$result['hash']."&gid=".$group_id."&access_token=".$token);
$safe = json_decode($safe,true);
print_r($safe);
// итог
?>
  • Вопрос задан
  • 213 просмотров
Пригласить эксперта
Ответы на вопрос 1
$url = json_decode($url)->response->upload_url;
$url = json_decode($url)->upload_url;
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Zelo Москва
от 130 000 руб.
Amigoweb Магнитогорск
от 40 000 до 60 000 руб.
АКМЭ сервис Санкт-Петербург
от 110 000 руб.