Показать сообщение отдельно
Старый 03.01.2013, 22:35
breket вне форума Посмотреть профиль Отправить личное сообщение для breket Найти все сообщения от breket
  № 1  
Ответить с цитированием
breket

Регистрация: Jan 2013
Сообщений: 3
По умолчанию Проблема с загрузкой друзей friends.get

Пишу игру для контакта. Пользуюсь примером http://vk.com/source/APIConnection.zip
Мне необходимо получить список пользователей. Применяю запрос:

Код AS3:
VK.api('friends.get', { uids: flashVars['viewer_id'], fields:'uid,first_name,last_name,sex,bdate,photo_medium,photo_big,online'}, pushMyFriends, onApiRequestFail);
Так вот, если друзей у пользователя меньше 270, то всё идёт гладко и функция pushMyFriends обрабатывает данные.
Но если друзей больше 270, то приложение подвисает и функция-обработчик pushMyFriends даже не вызывается.

Проверял с помощью Charles - данные приходят. При 3к друзей приходит 760кб данных. Для флеша это не так уж и много (на других проектах обрабатывал ответы более 1М).
Может проблема в предоставленном в примере декодере JSON? Я переключал на стандартный JSON.decode (в Flash Professional CS6), но всё равно аналогичное подвисание.

Добавлено через 18 часов 22 минуты
Разобрался. Кажется помогло... только я не понял что из этого:
- Заменил uids на uid
- Уменьшил количество полей до единственного id.

Теперь код выглядит так:
Код AS1/AS2:
VK.api('friends.get', {uid: flashVars['viewer_id']}, pushMyFriendsIds, onApiRequestFail);


Последний раз редактировалось iNils; 04.01.2013 в 05:02.