photos.get Помогите с выводом фото

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
GORDIY
Сообщения: 28
Зарегистрирован: 05 окт 2013, 19:11

photos.get Помогите с выводом фото

Сообщение GORDIY »

Здравствуйте.

Есть скрипт, который выводит список фото с альбома .
Проблема в том что апи вк изменилось...
раньше при запросе

Код: Выделить всё

  $resp = file_get_contents('https://api.vk.com/method/photos.get?owner_id='.$owner_id.'&album_id='.$album_id.''); //делаем запрос к апи вк $data = json_decode($resp, true); //декодируем полученый json масив  
в переменной дата получали масив вида

Код: Выделить всё

 Array ([response] => Array ( [0] => Array ( [pid] => 278457524 [aid] => 153688754 [owner_id] => 145859955 [src] => http://cs302805.vk.me/u145859955/153688754/m_c349e673.jpg [src_big] => http://cs302805.vk.me/u145859955/153688754/x_b7c9aa04.jpg [src_small] => http://cs302805.vk.me/u145859955/153688754/s_0ac55bff.jpg [src_xbig] => http://cs302805.vk.me/u145859955/153688754/y_70faf107.jpg [src_xxbig] => http://cs302805.vk.me/u145859955/153688754/z_6e76e2a0.jpg [width] => 720 [height] => 960 [text] => [created] => 1330818833 )  [1] => Array ( [pid] => 278457525 [aid] => 153688754 [owner_id] => 145859955 [src] => http://cs302805.vk.me/u145859955/153688754/m_043e5700.jpg [src_big] => http://cs302805.vk.me/u145859955/153688754/x_06b021c5.jpg [src_small] => http://cs302805.vk.me/u145859955/153688754/s_8ce27c08.jpg  
И все фото прекрасно выводились

Код: Выделить всё

 $i=-1;    foreach($data["response"] as $photo){    $i++;          if ($i % 3 == 0){            echo "</tr><tr>";        } // остальной код неважен//дальше выводится так <input type='image' src='{$photo["src"]}'> 



Теперь же при запросе

Код: Выделить всё

$resp = file_get_contents('https://api.vk.com/method/photos.get?owner_id='.$owner_id.'&album_id='.$album_id.'&v=5.2'); //делаем запрос к апи вк $data = json_decode($resp, true);  //декодируем полученый json масив 
Получаем ответ вида:

Код: Выделить всё

 Array ( [response] =>   Array (    [count] => 4 [items] => Array (     [0] => Array (         [id] => 278457524         [album_id] => 153688754         [owner_id] => 145859955         [photo_75] => http://cs302805.vk.me/u145859955/153688754/s_0ac55bff.jpg         [photo_130] => http://cs302805.vk.me/u145859955/153688754/m_c349e673.jpg         [photo_604] => http://cs302805.vk.me/u145859955/153688754/x_b7c9aa04.jpg         [photo_807] => http://cs302805.vk.me/u145859955/153688754/y_70faf107.jpg         [photo_1280] => http://cs302805.vk.me/u145859955/153688754/z_6e76e2a0.jpg         [width] => 720         [height] => 960         [text] =>         [date] => 1330818833 )      [1] => Array (         [id] => 278457525         [album_id] => 153688754         [owner_id] => 145859955         [photo_75] => http://cs302805.vk.me/u145859955/153688754/s_8ce27c08.jpg         [photo_130] => http://cs302805.vk.me/u145859955/153688754/m_043e5700.jpg         [photo_604] => http://cs302805.vk.me/u145859955/153688754/x_06b021c5.jpg 
и теперь код вида:

Код: Выделить всё

    $i=-1;    foreach($data["response"] as $photo){    $i++;          if ($i % 3 == 0){            echo "</tr><tr>";        } // остальной код неважен//дальше выводится так <input type='image' src='{$photo["photo_130"]}'> 
Уже не работает...
Тоесть переменная $photo["photo_130"] не создается или не несет в себе ссылку на изображение
Помогите исправить плиииз
Serge
WEB Team
WEB Team
Сообщения: 520
Зарегистрирован: 04 мар 2011, 21:55

Re: photos.get Помогите с выводом фото

Сообщение Serge »

Код: Выделить всё

foreach($data["response"]["items"] as $photo){
GORDIY
Сообщения: 28
Зарегистрирован: 05 окт 2013, 19:11

Re: photos.get Помогите с выводом фото

Сообщение GORDIY »

Serge писал(а):foreach($data["response"]["items"] as $photo){
Уже допер))) Благодарю за помощь) Вопрос исчерпан, тему можно закрыть.
Марс
Сообщения: 15
Зарегистрирован: 18 фев 2013, 21:05

Re: photos.get Помогите с выводом фото

Сообщение Марс »

А я через JS пытаюсь вывести фотографии из альбома, но выдает TypeError: data.response is undefined помогите разобраться вот код

Код: Выделить всё

  $('.group_albums').click(function(){      var album_id_photo=$(this).attr('id');                                                                                                                VK.api('photos.get',{owner_id:-group_id_album, album_id:album_id_photo},function(data){             var photo_count=data.response.length;             $('.major_photo_list').html("");                                                                        for(var j=1; j<photo_count; j++){                                                                                                                       var photo_img=data.response[j].photo_604;                  $('.major_photo_list').append('<div class=photo_album><img src='+photo_img+'></div>');              }                                            })}) 
Переменные group_id_album и album_id_photo если вывожу перед вызовом VK.api правильно определяются
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: photos.get Помогите с выводом фото

Сообщение sasha^ »

значит ответ data.error - ошибка... а TypeError: data.response is undefined означает что data.response не существует... вот и все :)
Марс
Сообщения: 15
Зарегистрирован: 18 фев 2013, 21:05

Re: photos.get Помогите с выводом фото

Сообщение Марс »

Я понял что не существует вот только почему? Что я не так делаю?
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: photos.get Помогите с выводом фото

Сообщение sasha^ »

выведи сообщение об ошибке(data.error и увидишь) :)
Марс
Сообщения: 15
Зарегистрирован: 18 фев 2013, 21:05

Re: photos.get Помогите с выводом фото

Сообщение Марс »

"permission to perform this action is denied" - разрешение на выполнение этого действия будет отказано
Что это значит и как получить это разрешение?
Марс
Сообщения: 15
Зарегистрирован: 18 фев 2013, 21:05

Re: photos.get Помогите с выводом фото

Сообщение Марс »

Кстати, в ответе об ошибке версия Api v=3. А как перейти на пятую?
Марс
Сообщения: 15
Зарегистрирован: 18 фев 2013, 21:05

Re: photos.get Помогите с выводом фото

Сообщение Марс »

Все разобрался. В управлении приложением необходимо указать "Установка приложения" и поставить галочку на запрос доступа к фотографиям.
Вот только теперь строчка

Код: Выделить всё

 var photo_img=data.response[j].photo_604; 
не работает не выдает урлы фотографий только undefined
Причем другие данные выдает без проблем например

Код: Выделить всё

 var photo_img=data.response[j].text; 
выдает тексты описания к фотографиям. Не пойму в чем дело...
Ответить