Страница 1 из 1

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

Добавлено: 17 сен 2013, 00:47
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; ?>" />
Но почему у меня не все отображаются аватарки? Причем не отображаются в рандомном порядке.

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

Добавлено: 17 сен 2013, 16:03
Casperovskii
Вероятно из-за того, что у некоторых и 100х100 нет аватарок. В таком случае нужно выводить или стандартную собачку из контакта, или любое другое изображение

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

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

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