Получить адрес фото по id. photos.getById не работает

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
mega_qwe
Сообщения: 3
Зарегистрирован: 07 ноя 2011, 13:30

Получить адрес фото по id. photos.getById не работает

Сообщение mega_qwe »

Задача - показывать фото по его id (вида <owner>_<pid>).
По идее могу получить массив данных на фотки с помощью photos.getById, и из него брать src, но почему-то попытка обратиться из приложения (из php) к этому методу дает ответ [error_msg] => Unknown method passed.
Насчет прав доступа к этим фотками - айди фоток получены с помощью просмотра альбомов, и получения айди оттуда (с помощью метода photos.get). Если вконтакт отдал мне эти фотки с помощью photos.get, почему не отдает с photos.getById ?

В принципе, я могу у себя в базе хранить не <owner>_<pid>, а ссылку типа http://cs10770.vk.com/u68130598/1503099 ... 9b184f.jpg , но я боюсь что эта ссылка может изменяться.

Если что, вот полный ответ сервера, тут есть и параметры, и ответ:

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

Array(    [error] => Array        (            [error_code] => 3            [error_msg] => Unknown method passed            [request_params] => Array                (                    [0] => Array                        (                            [key] => api_id                            [value] => 2777                        )                     [1] => Array                        (                            [key] => extended                            [value] => 1                        )                     [2] => Array                        (                            [key] => format                            [value] => json                        )                     [3] => Array                        (                            [key] => method                            [value] => photos.getById                        )                     [4] => Array                        (                            [key] => photos                            [value] => -33389482_276182561,-33389482_276182554                        )                     [5] => Array                        (                            [key] => random                            [value] => 4621                        )                     [6] => Array                        (                            [key] => timestamp                            [value] => 1328959746                        )                     [7] => Array                        (                            [key] => v                            [value] => 3.0                        )                     [8] => Array                        (                            [key] => sig                            [value] => xxxxxxxxxxxxxxxxxxx                        )                 )         ) )
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Получить адрес фото по id. photos.getById не работает

Сообщение Александр »

mega_qwe
Не все методы можно вызывать с сервера.
mega_qwe
Сообщения: 3
Зарегистрирован: 07 ноя 2011, 13:30

Re: Получить адрес фото по id. photos.getById не работает

Сообщение mega_qwe »

Александр писал(а):mega_qwe
Не все методы можно вызывать с сервера.
Я это понимаю, но photos.getById и photos.get я вызываю одинаково, в описании различий (как вызывать) не нашел, описаны они в одном блоке...
http://vk.com/developers.php?o=-1&p=photos.get http://vk.com/developers.php?oid=-1&p=photos.getById
Почему одна работает там, где другая не работает? не логично как-то...

Ну и главное - какой механизм хранения базы вконтактовских фоток правильный? По идее айди фотки, а не массив "владелец+альбом+айдифотки", а как-же тогда им пользоваться?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Получить адрес фото по id. photos.getById не работает

Сообщение Александр »

mega_qwe
Официально с сервера доступны только secure методы, метод friends.get.
То что какие-то другие методы успешно вызываются с сервера, не говорит о том что все методы доступны с сервера.
Доступен ли метод с сервера можно узнать прочитав документацию или попробовав его вызвать. Но если в документации не описано, что метод доступен с сервера, то со временем он может быть и прикрыт.

photo{ID_ПОЛЬЗОВАТЕЛЯ}_{ID_ФОТОГРАФИИ}
В методах описано какие параметры надо передавать.
mega_qwe
Сообщения: 3
Зарегистрирован: 07 ноя 2011, 13:30

Re: Получить адрес фото по id. photos.getById не работает

Сообщение mega_qwe »

Александр писал(а):mega_qwe
Официально с сервера доступны только secure методы, метод friends.get.
эээээ... я понял документацию наоброт - secure методы доступны только с сервера, а остальные и так и так.
если так как Вы говорите, то все намного хуже ((

Александр писал(а):photo{ID_ПОЛЬЗОВАТЕЛЯ}_{ID_ФОТОГРАФИИ}
В методах описано какие параметры надо передавать.
Если Вы про префикс photo, то он в описании photos.getById отсутствует (да и пробовал я с ним, не помогает). И сообщение об ошибке "неопределенный метод" намекает что проблема не в параметрах ((


А какой метод и какие данные Вы используете чтобы показать в своем iframe фотку находящуюся на сервер вконтакте?
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Получить адрес фото по id. photos.getById не работает

Сообщение Александр »

mega_qwe писал(а):Если Вы про префикс photo, то он в описании photos.getById отсутствует (да и пробовал я с ним, не помогает).
Пример значения photos: 1_129207899,6492_135055734,-20629724_271945303
Без photo.
mega_qwe писал(а):И сообщение об ошибке "неопределенный метод" намекает что проблема не в параметрах ((
а в том что этот метод нельзя вызывать с сервера.
mega_qwe писал(а):А какой метод и какие данные Вы используете чтобы показать в своем iframe фотку находящуюся на сервер вконтакте?
Вызвать метод на стороне клиента. http://flapps.ru/forum/topic721.html
Ответить