Страница 1 из 2
не работает friends.getAppUsers у меня
Добавлено: 14 дек 2010, 22:52
Sh.A.R.c
Код: Выделить всё
import vk.APIConnection;import vk.events.*;import flash.text.TextField; var flashVars:Object = stage.loaderInfo.parameters as Object;var VK:APIConnection = new APIConnection(flashVars); var i:int = new int(); var txtField:TextField = new TextField();txtField.x = 100;txtField.y = 100;txtField.width = 300;txtField.height = 300; VK.callMethod("showSettingsBox", 2); VK.addEventListener("onSettingsChanged", UpdateStatus); function UpdateStatus(e:CustomEvent):void{ if(e.params[0] > 2) VK.api("friends.get", EditStatSuccess, EditStatFail); else VK.callMethod("showSettingsBox", 2);} function EditStatSuccess(response:Object):void{ txtField.text = response.uid;} function EditStatFail(response:Object):void{ txtField.text = response.error_msg;} addChild(txtField);
то при запуске пустой екран, ни одного ИДи, хотя двое установили
Re: не работает friends.getAppUsers у меня
Добавлено: 15 дек 2010, 12:26
catamount5
а чтр у вас в VK.api написано? какая там функция?
Re: не работает friends.getAppUsers у меня
Добавлено: 15 дек 2010, 12:39
Sh.A.R.c
Код: Выделить всё
public function api(method: String, params: Object, onComplete:Function = null, onError:Function = null):void { var options: Object = new Object(); options['params'] = params; options['onComplete'] = onComplete; options['onError'] = onError; dp.request(method, options); }
Re: не работает friends.getAppUsers у меня
Добавлено: 15 дек 2010, 22:04
catamount5
А почему Вы название метода посылаете "friends.get"?
Я посылаю "friends.getAppUsers"
Re: не работает friends.getAppUsers у меня
Добавлено: 15 дек 2010, 22:18
catamount5
Не уверена, что будут вызваны функции function EditStatSuccess и function EditStatFail.
Во-первых, как-то сомнительно, что по их именам произойдет обращение.
Во-вторых, если Вы пишите код не внутри флеша, а отдельными файлами, то функциям надо присвоить public. Т.к. на сколько я помню, если по умолчанию флеш ставит internal
Re: не работает friends.getAppUsers у меня
Добавлено: 21 дек 2010, 00:40
zeropoid
Ребята покажите пример кода который извлекает данные из ответа friends.getAppUsers. Ну очень надо!!!
Заранее спасибо!
Re: не работает friends.getAppUsers у меня
Добавлено: 21 дек 2010, 23:30
Александр
zeropoid
Код: Выделить всё
var response:XML=new XML(url_loader.data);for each (var fid:XML in response.*) { trace(fid);}
Re: не работает friends.getAppUsers у меня
Добавлено: 26 дек 2010, 15:21
Terranus
Здравствуйте.
Может быть вы подскажите мне в чем дело.
Отправляю со стороннего сервера запрос на получение списка друзей в приложении.
Код: Выделить всё
http://api.vkontakte.ru/api.php?api_id=2056781&format=XML&method=friends.getAppUsers&random=27664×tamp=1293365786&uid=91698&v=3.0&sig=ab890e601dd8c3dc7e2cde936dfb3409
Сервер отвечает что не знает такого метода.
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?><error> <error_code>3</error_code> <error_msg>Unknown method passed</error_msg> <request_params list="true"> <param> <key>api_id</key> <value>2056781</value> </param> <param> <key>format</key> <value>XML</value> </param> <param> <key>method</key> <value>friends.getAppUsers</value> </param> <param> <key>random</key> <value>27664</value> </param> <param> <key>timestamp</key> <value>1293365786</value> </param> <param> <key>uid</key> <value>91698</value> </param> <param> <key>v</key> <value>3.0</value> </param> <param> <key>sig</key> <value>ab890e601dd8c3dc7e2cde936dfb3409</value> </param> </request_params></error>
Может что не так делаю?
Запрос составляю с помощью класса VkApi.class.php
Добавил туда свою функцию
Код: Выделить всё
public function getAppUsers ($uid) { $api = new VkApi($this->api_id, 'friends.getAppUsers', $this->secret, $this->format, '3.0', $this->server_url, $this->timestamp, $this->random); $api->addParameter('uid', $uid); return $api->getQuery(); }
Re: не работает friends.getAppUsers у меня
Добавлено: 27 дек 2010, 22:57
Александр
Terranus
Не все методы можно использовать с сервера.
http://vkontakte.ru/developers.php?o=-1 ... etAppUsers - там не написано, что этот метод можно вызывать с сервера.
Re: не работает friends.getAppUsers у меня
Добавлено: 02 янв 2011, 23:27
Nick Lisogor
Здравствуйте, решил не засорять форум темой, поэтому написал в похожей.
Объясняю мою ситуацию. У меня есть flash приложение, которое должно получать список id друзей пользователя, играющих в приложение и отправлять их на сервер. Я попробовал реализовать эту идею через метод
friends.getAppUsers() , преобразовать полученный массив в XML список и отправить на обработку в php скрипт. При тесте PHP скрипт работал нормально (проверял методом подстановки данных) , но с flash частью у меня возникли проблемы. Ошибок не было, но и приложение не работало. По моим предположениям проблема в получении списка id друзей. Вот фрагмент кода получения:
Код: Выделить всё
//Получаем всех друзей пользователя, которые играют в приложение public function getFriendsStat():void { friends_uids_loader = new URLLoader(); var friends_uids_query = api.friends.getAppUsers(); var friends_uids_request=new URLRequest(friends_uids_query); friends_uids_loader.addEventListener(Event.COMPLETE, onFriendsUidsLoaded); friends_uids_loader.load(friends_uids_request); } //Получаем данные профилей друзей пользователя и отправляем их на сервер public function onFriendsUidsLoaded(e:Event):void { //Функция запустилась, поэтому слушатель удаляем friends_uids_loader.removeEventListener(Event.COMPLETE, onFriendsUidsLoaded); //Сохраняем данные друзей в переменную var friends_profiles_XML = XML(friends_uids_loader.data); //Создаем XML список id пользователей var friends_uids = '<?xml version=\"1.0\" encoding=\"UTF-8\"?><list>'; //for (var i:int=0; i<friends_profiles_XML.children().length();i++) { for (var i:int=0; i<friends_profiles_XML.uid[i].length();i++) { //friends_uids.appendText('<uid id='+friends_profiles_XML.children()[i].toString()+'/>'); friends_uids.appendText('<uid id='+friends_profiles_XML.uid[i].toString()+'/>'); } friends_uids.appendText('</list>'); //Задаем формат строки var uids_list:String = ''+friends_uids; //Создаем запрос на получение списка очков нужных нам друзей get_data_loader = new URLLoader(); get_data_request=new URLRequest("http://localhost/send_uids.php"); get_data_request.method=URLRequestMethod.POST; get_data_vars = new URLVariables(); get_data_vars['auth_key']=wrapper.application.parameters.auth_key; get_data_vars['viewer_id']=wrapper.application.parameters.viewer_id; get_data_vars['uids_list']=uids_list; get_data_request.data=get_data_vars; //Создаем слушатель, который выполнит функцию по окончанию запроса get_data_loader.addEventListener(Event.COMPLETE, onCompletexml); //Загружаем запрос get_data_loader.load(get_data_request); }
Думаю, сам код понятен. Само мое приложение еще не одобрено так, как оно в стадии тестов, возможно из-за этого приложение не работает, тестовый "друг" один, он же и второй администратор приложения. Вот, собственно, и все. Буду очень признателен за помощь!