Отображение аватарок из вКонтакте

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
MichaelPak
Сообщения: 15
Зарегистрирован: 25 июл 2011, 14:40

Отображение аватарок из вКонтакте

Сообщение MichaelPak »

Пишу приложение для ВК, который открывается через iframe.
Функция в head'е, которая выводит аватарки:

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

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script><script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>function getAva(idVk){    VK.api("getProfiles", {uids:idVk,fields:"photo_200"}, function(data) {        var avaContact = "#id" + idVk;        if(data.response[0].photo_200 == null) {            VK.api("getProfiles", {uids:idVk,fields:"photo_100"}, function(data) {                $(avaContact).attr("src", data.response[0].photo_100);            });        }        else {            $(avaContact).attr("src", data.response[0].photo_200);        }    });}
И в body зациклен код, который вызывает функцию getAva():

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

<script type="text/javascript">getAva(<? echo $idVk; ?>);</script><img id="id<? echo $idVk; ?>" />
Но почему у меня не все отображаются аватарки? Причем не отображаются в рандомном порядке.
Casperovskii
Сообщения: 429
Зарегистрирован: 22 июн 2012, 17:50

Re: Отображение аватарок из вКонтакте

Сообщение Casperovskii »

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

Re: Отображение аватарок из вКонтакте

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

MichaelPak
Посмотреть какой ответ возвращает сервер API. Можно использовать Charles.
Наверняка срабатывает ограничение не более 3 запросов в секунду.
Надо один раз передать методу список id через запятую, а с полученными данными работать в цикле.

Вместо getProfiles использовать users.get. Изучать API вместе с актуальной официальной документацией. Одних готовых примеров будет мало.
Ответить