вывод друзей

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
rewad
Сообщения: 62
Зарегистрирован: 17 май 2010, 22:56

вывод друзей

Сообщение rewad »

пытаюсь сделать в List вывод ,т.е к каждому пункту в листе будет id пользователя а в имени имя и фамилия,вывод в качестве имя id смог,а вот чтобы превязано было с именем не получается,в чём проблема?
в этом способе во всех полях id разные а имя одинаковое везде(

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

  1. var responseFriendsProfiles:XML=new XML(_loaderfriendsapp.data);
  2.  
  3.             for each (var user:XML in responseFriendsProfiles.uid) {
  4.                 // функция получения профиля
  5.                 sig=MD5.encrypt(_viewer_id+'api_id='+api_id+'method=getProfilesuids='+user+'v=2.0'+api_secret);
  6.                 var request2:URLRequest=new URLRequest("http://api.vkontakte.ru/api.php?api_id="+api_id+"&method=getProfiles&uids="+user+"&v=2.0&sig="+sig);
  7.                 _loadergpf.load(request2);
  8.                 externalXML=new XML(_loadergpf.data);
  9.                 var nameqt=externalXML..first_name+' '+externalXML..last_name;
  10.            
  11.                 aList.addItem({label:nameqt, data:user});
  12.        
  13.                 myTimer.start();
  14.             }
sersche
FL Team
FL Team
Сообщения: 598
Зарегистрирован: 11 май 2010, 13:45

Re: вывод друзей

Сообщение sersche »

нафига ты в цикл запихнул обращение к апи? надо один раз вызвать, а потом уже обрабатывать.. вот мой код для листа (моего там правда ничего кроме исправлений нет), использовал ВКАпиНод.. разберешься

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

  1. function getFriends():void
  2. {   
  3.     viewer_id=wrapper.application.parameters.viewer_id;
  4.     server_url = wrapper.application.parameters.api_url + '?';
  5.  
  6.     api=new VkApiNode(viewer_id,api_id,api_secret,false,'XML','2.0',server_url);
  7.     query=api.getFriends();
  8.     url_request=new URLRequest(query);
  9.     url_loader=new URLLoader  ;
  10.     url_loader.addEventListener(Event.COMPLETE,friendsLoaded);
  11.     url_loader.load(url_request);
  12. }
  13.  
  14. function friendsLoaded(event:Event):void
  15. {
  16.     var responseFriends:XML=new XML(url_loader.data);
  17.    
  18.     if (responseFriends.error_code!=7)
  19.     {
  20.         var all_friends:Array=new Array  ;
  21.         for each (var fid:XML in responseFriends.*)
  22.         {
  23.             all_friends.push(fid);
  24.         }
  25.            
  26.     var fields:Array=new Array  ;
  27.         fields=['first_name,last_name,photo_big'];
  28.         getProfiles(all_friends,fields);
  29.         }
  30.     else
  31.     {
  32.     trace('список друзей недоступен');
  33.     }  
  34. }
  35.  
  36. function getProfiles(uids:Array,fields:Array):void
  37. {
  38.     query=api.getProfiles(uids,fields);
  39.     url_request=new URLRequest(query);
  40.     url_loader=new URLLoader  ;
  41.     url_loader.addEventListener(Event.COMPLETE,profilesLoaded);
  42.     url_loader.load(url_request);
  43. }
  44.  
  45. var dp:DataProvider;
  46.  
  47. function profilesLoaded(event:Event):void
  48. {
  49. var responseFriendsProfiles:XML=new XML(url_loader.data);
  50.     dp = new DataProvider();           
  51.  
  52.     for each (var user:XML in responseFriendsProfiles.*)
  53.     {
  54.         dp.addItem({label: user.first_name+' '+user.last_name, data: user.uid});
  55.     }
  56.     dp.sortOn("label");  
  57.     FriendList.dataProvider = dp;
  58.     user_id = FriendList.selectedItem.data;
  59. }
Ответить