Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.06.2011, 02:49
Dron1564 вне форума Посмотреть профиль Отправить личное сообщение для Dron1564 Найти все сообщения от Dron1564
  № 1  
Ответить с цитированием
Dron1564

Регистрация: Oct 2010
Сообщений: 69
По умолчанию Проблема с загрузкой друзей

Здравствуйте... и сразу по делу... ))
Идёт загрузка друзей...

Код AS3:
function getFriendsAPI( ):void{
    VK.api("friends.get",  { uid:flashVars.viewer_id, fields:"uid,first_name,last_name" }, getFriends, onError );
}
function getFriends ( data:Array ):void {
    Trace( 1 );
    ***
}
function onError (data:Object):void {
    Trace( data.error_msg );
}
Но у меня есть аккаунт вконтакте там 5268 друзей... и почему то с него в какое бы я приложение не заходил друзья не отображаются( есть 2 исключения, не знаю как они это сделали )...

Если быть точным то после отправки запроса... не одна из этих функций не вызывается...(getFriends , onError)... пробовал имитировать... думал в количестве дело... но всё отлично работает:

Код AS3:
getFriends(  addFriendsImi() );
 
function addFriendsImi():Array {
    var fr:Array = new Array();
    var item:Object;
    for( var i:int = 0; i< 10000; i++ ){
	item = new Object();
	item["uid"] = "uind"+i;
	item["first_name"] =  "firstname"+i;
	item["last_name"] =  "lastname"+i;
	fr[i] = item;
    }
    return fr;
}
На всех других аккаунтах всё отлично работает... т.е. что-то тут с друзьями не то...

Почему такое происходит я понятия не имею ....
Помогите пожалуйста.....

Старый 22.06.2011, 23:35
DJDrugsounD вне форума Посмотреть профиль Отправить личное сообщение для DJDrugsounD Найти все сообщения от DJDrugsounD
  № 2  
Ответить с цитированием
DJDrugsounD
 
Аватар для DJDrugsounD

Регистрация: Jun 2011
Сообщений: 153
попробуй загружать по 1000 друзей на запрос так как в одном запросе стоит ограничение 1000

Старый 23.06.2011, 13:49
Dron1564 вне форума Посмотреть профиль Отправить личное сообщение для Dron1564 Найти все сообщения от Dron1564
  № 3  
Ответить с цитированием
Dron1564

Регистрация: Oct 2010
Сообщений: 69
Цитата:
Сообщение от DJDrugsounD Посмотреть сообщение
попробуй загружать по 1000 друзей на запрос так как в одном запросе стоит ограничение 1000
Спасибо большое, помогло... по 1000 загружал в массив... а потом уже проводил с ним операции...

Старый 23.06.2011, 19:20
marsh вне форума Посмотреть профиль Отправить личное сообщение для marsh Найти все сообщения от marsh
  № 4  
Ответить с цитированием
marsh

Регистрация: Jun 2011
Сообщений: 13
Цитата:
Сообщение от Dron1564 Посмотреть сообщение
Спасибо большое, помогло... по 1000 загружал в массив... а потом уже проводил с ним операции...
Как это в-кратце выглядит? Что-то вроде такого?
Код AS3:
VK.api('friends.get', { uid: flashVars['viewer_id'], fields: 'first_name', count: '1000', offset: '0' }, onLoad, onErr); //загрузить первых 1000 друзей
VK.api('friends.get', { uid: flashVars['viewer_id'], fields: 'first_name', count: '1000', offset: '1000' }, onLoad, onErr); //загрузить 1000-2000 друзей.
Я правильно понял?

Старый 24.06.2011, 12:56
Dron1564 вне форума Посмотреть профиль Отправить личное сообщение для Dron1564 Найти все сообщения от Dron1564
  № 5  
Ответить с цитированием
Dron1564

Регистрация: Oct 2010
Сообщений: 69
Код AS3:
 
var offsetFriends:uint = 0;
var friendsJ:uint = 0;
var TimeOut:Timer = new Timer( 5000, 1 );
TimeOut.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); // Куда нить запихни это действие  
function getFriendsAPI( ):void{
	if( TimeOut.running ){
		TimeOut.reset();
	}
	TimeOut.start(); 
	VK.api("friends.get",  { uid:flashVars.viewer_id, fields:"uid,first_name,last_name", count:1000, offset:offsetFriends }, get1000Friends, onError );
	offsetFriends += 1000;
}
 
function get1000Friends ( data:Array ):void {
	for( var i:uint = 0; i<data.length; i++ ){
		friends[friendsJ] = data[i];
		friendsJ++;
	}
	if( offsetFriends <= 9000 ){
		getFriendsAPI( );
	}
} 
 
function onTimerComplete( e:TimerEvent ):void {
	getFriends(); //Сортировка и дальнейшие действия с друзьями
}
Пробовал твоим способом.. пропускает порядка 200-300 друзей..


Последний раз редактировалось Dron1564; 24.06.2011 в 13:05.
Старый 26.06.2011, 01:58
marsh вне форума Посмотреть профиль Отправить личное сообщение для marsh Найти все сообщения от marsh
  № 6  
Ответить с цитированием
marsh

Регистрация: Jun 2011
Сообщений: 13
По-моему тоже самое, что и мое, только выдержано время таймером ну и цикл добавлен, спасибо, понятно
жаль у меня нет акка с 5000 друзьями, чтобы тестить такие казусы.

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.