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

Не отрабатывается запрос users.get

Добавлено: 27 мар 2012, 08:51
AngelPOPs
Здраствуйте.
Разбираюсь как это работает.
А вот это не совсем работает...

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

package {    import vk.APIConnection;    import vk.events.*;    import flash.display.MovieClip;    import flash.events.*;     public class Main extends MovieClip    {        public var api_id:Number;        public var viewer_id:Number;        public var sid:String;        public var secret:String;         public function Main()        {             if (stage)            {                init();            }            else            {                addEventListener(Event.ADDED_TO_STAGE,init);            }        }         private function init(e:Event=null):void        {            removeEventListener(Event.ADDED_TO_STAGE,init);             var flashVars:Object = stage.loaderInfo.parameters as Object;            if (! flashVars.api_id)            {                // -- For local testing enter you test-code here:                 flashVars['api_id'] = 1888171;                flashVars['viewer_id'] = 66748;                flashVars['sid'] = "7e22c25d7fece88f2316553937ff24f43e1073ca28e8b4302e65db35fa";                flashVars['secret'] = "6113n3e4g3";                // -- //             }             api_id = flashVars['api_id'];// id приложения            viewer_id = flashVars['viewer_id'];// id пользователя            sid = flashVars['sid'];// сид             secret = flashVars['secret'];// секретный пароль             result_tf.text = "ID приложения: " + api_id;             var VK:APIConnection = new APIConnection(flashVars);            VK = new APIConnection(flashVars);             VK.api('users.get', {uids: viewer_id, fields:'nickname'}, onProfileLoaded, onError);                    }         private function onProfileLoaded(e:Object):void        {            result_tf.text = "Погоняло: " + e.first_name.length;        }         private function onError(e:Object):void        {            result_tf.text = "Ошибка: " + e.error_msg;        }    }}
Выводит ID приложения, а запрос к API не происходит. Ошибку тоже не отрабатывает.
Сильно не пинайте, я только учус...

Re: Не отрабатывается запрос users.get

Добавлено: 27 мар 2012, 18:31
Александр
Это что такое? Почему length?

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

e.first_name.length;
Начинай использовать Charles, чтобы видеть выполняются ли запросы вообще.

Re: Не отрабатывается запрос users.get

Добавлено: 27 мар 2012, 19:46
AngelPOPs
Не в том вопрос...
Даже если написать так:

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

result_tf.text = "Работает";
Оно не работает.
length - длина, на сколько я знаю.

Re: Не отрабатывается запрос users.get

Добавлено: 27 мар 2012, 20:25
Александр
А по второй части что? Что в Charles видишь? Запрос выполняется?

Re: Не отрабатывается запрос users.get

Добавлено: 28 мар 2012, 00:55
AngelPOPs
Поставил Charles.
Запроса нет.
Прошу прощения, не заметил второй части.

Re: Не отрабатывается запрос users.get

Добавлено: 28 мар 2012, 10:10
gaponj88
AngelPOPs
А зачем ты два раза выполняешь подключение?

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

 var VK:APIConnection = new APIConnection(flashVars);VK = new APIConnection(flashVars);
убери вторую строчку

Re: Не отрабатывается запрос users.get

Добавлено: 29 мар 2012, 01:52
AngelPOPs
Мнда. Пока не понял почему, но вот этот скрипт работает:

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

package {    import flash.display.Sprite;    import flash.events.Event;    import vk.APIConnection;     public class Main extends Sprite    {        private var flashVars:Object;        private var VK:APIConnection;         public function Main()        {            //----------------------------------------------------------------------            if (stage)            {                init();            }            else            {                addEventListener(Event.ADDED_TO_STAGE, init);            }//----------------------------------------------------------------------        }         private function init(e: Event = null):void        {            //----------------------------------------------------------------------            flashVars = stage.loaderInfo.parameters as Object;            VK = new APIConnection(flashVars);            getProfiles();            //----------------------------------------------------------------------            removeEventListener(Event.ADDED_TO_STAGE, init);            //----------------------------------------------------------------------        }          private function getProfiles():void        {            //----------------------------------------------------------------------            var profilesFields:String;            //----------------------------------------------------------------------            profilesFields = 'uid, first_name, last_name, screen_name, photo_big';            //----------------------------------------------------------------------            VK.api('users.get', {uids: flashVars.viewer_id, fields: profilesFields},                   getProfilesTrue, getProfilesFalse);            //----------------------------------------------------------------------        }         private function getProfilesTrue(data: Object):void        {            //----------------------------------------------------------------------            result_tf.text = "Фамилия: " + data[0].last_name;            //----------------------------------------------------------------------        }         private function getProfilesFalse(data: Object):void        {            //----------------------------------------------------------------------            result_tf.text = "Ошибка";            //----------------------------------------------------------------------        }    }}

Re: Не отрабатывается запрос users.get

Добавлено: 29 мар 2012, 20:21
Александр
AngelPOPs
gaponj88 писал(а):А зачем ты два раза выполняешь подключение?
убери вторую строчку

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

package{    import vk.APIConnection;    import vk.events.*;    import flash.display.MovieClip;    import flash.events.*;     public class Main extends MovieClip    {        public var api_id:Number;        public var viewer_id:Number;        public var sid:String;        public var secret:String;         public function Main()        {             if (stage)            {                init();            }            else            {                addEventListener(Event.ADDED_TO_STAGE,init);            }        }         private function init(e:Event=null):void        {            removeEventListener(Event.ADDED_TO_STAGE,init);             var flashVars:Object = stage.loaderInfo.parameters as Object;            if (! flashVars.api_id)            {                // -- For local testing enter you test-code here:                flashVars['api_id'] = 1888171;                flashVars['viewer_id'] = 66748;                flashVars['sid'] = "7e22c25d7fece88f2316553937ff24f43e1073ca28e8b4302e65db35fa";                flashVars['secret'] = "6113n3e4g3";                // -- //            }             api_id = flashVars['api_id'];// id приложения            viewer_id = flashVars['viewer_id'];// id пользователя            sid = flashVars['sid'];// сид            secret = flashVars['secret'];// секретный пароль             result_tf.text = "ID приложения: " + api_id;             var VK:APIConnection = new APIConnection(flashVars);             VK.api('users.get', {uids: viewer_id, fields:'nickname'}, onProfileLoaded, onError);                   }         private function onProfileLoaded(e:Object):void        {            result_tf.text = "Погоняло: " + e.first_name.length;        }         private function onError(e:Object):void        {            result_tf.text = "Ошибка: " + e.error_msg;        }    }}
Работает.