Защищённые методы

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Sasho'OK 515
Сообщения: 36
Зарегистрирован: 27 мар 2011, 14:03

Защищённые методы

Сообщение Sasho'OK 515 »

В некоторых источниках я причитал что UNIX TIME можно получать во флеше.
Т.к. случайное число получить непроблема я решил попробовать делать запрос к защищённым методам через Flash.
И тут появился первый косяк :
Код ошибки : 1
Ошибка : Unknown error occurred.
Вопрос : Есть ли способы обращения к этим методам без сервера?


P.S. Есть бесплатный сервер но там неработает из - за его Бесплатности :)
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Защищённые методы

Сообщение Александр »

Действительно хочешь это делать? Методы нужно использовать с сервера не потому что администрация вконтакте хочет чтобы создатели использовали платный хостинг, а потому что использовать защищенный ключ в клиентской части совсем не безопасно. Работаешь с голосами - украдут голоса. Смогут рассылать спам от имени твоего приложения.
Sasho'OK 515
Сообщения: 36
Зарегистрирован: 27 мар 2011, 14:03

Re: Защищённые методы

Сообщение Sasho'OK 515 »

ну вот метод SetCounter вроде ничего такого неделает но почему то он защищённый!
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Защищённые методы

Сообщение Александр »

Sasho'OK 515
Ты документацию по методам читаешь?
Вы также можете обращаться к этому методу при стандартном взаимодействии с клиентской стороны, указывая setCounter вместо secure.setCounter в названии метода. В этом случае параметр uid передавать не нужно, счетчик установится для текущего пользователя.

Метод setCounter при стандартном, а не защищенном взаимодействии можно использовать для того, чтобы, например, сбрасывать счетчик при заходе пользователя в приложение.
Если будешь использовать защищенный ключ в клиентском приложении (не важно для какого метода), ты откроешь доступ ко всем защищенным методам.
Sasho'OK 515
Сообщения: 36
Зарегистрирован: 27 мар 2011, 14:03

Re: Защищённые методы

Сообщение Sasho'OK 515 »

Щас попробуемс....
Ещё вопрос.
Получается что можно обойтись и без хостинга?
Sasho'OK 515
Сообщения: 36
Зарегистрирован: 27 мар 2011, 14:03

Re: Защищённые методы

Сообщение Sasho'OK 515 »

Неработает!
Выдаёт ошибку : ErrorIncorrect signature: server authorization
Код : 4

Код запроса :

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

VK.api('setCounter',{ timestamp:time,random:randoom,counter:count_spis },APIDONE,APIBAD);
Вот весь код :

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

package  {        import flash.display.MovieClip;    import flash.events.*;    import flash.utils.*;        import vk.*;    import vk.ui.VKButton;    import vk.events.CustomEvent;    import vk.gui.Box;            public class Test extends MovieClip {        var count_spis:Number = 1;                var fl_TimerInstance:Timer = new Timer(1000, 30);        var fl_SecondsElapsed:Number = 1;                var time;                                                   //UNIX TIME        var randoom:Number = Math.floor(Math.random() * 10000);     //Random                var pay_btn:vk.ui.VKButton = new VKButton("Внести 1 голос",1);                public function Test() {            fl_TimerInstance.addEventListener(TimerEvent.TIMER, fl_TimerHandler);            fl_TimerInstance.start();            addChild(pay_btn);            pay_btn.addEventListener(MouseEvent.CLICK , Handler);        }        function fl_TimerHandler(event:TimerEvent):void        {            time = new Date().time;            trace(time);            fl_SecondsElapsed++;        }        private function Handler(e:MouseEvent):void {            var flashVars: Object = stage.loaderInfo.parameters as Object;            if (!flashVars.api_id) {            flashVars['api_id'] = 2251431;            flashVars['viewer_id'] = 82181093;            flashVars['sid'] = "bbfe6ca26d47759074df0e161248f2ccf6a9c1f3d24f3ffad2f0dd7667eb62";            flashVars['secret'] = "9224ead611";            }            var VK: APIConnection = new APIConnection(flashVars);            VK.api('setCounter',{ timestamp:time,random:randoom,counter:count_spis },APIDONE,APIBAD);        }        private function APIDONE(data:Object):void {            var box:Box = new Box("Done","True",200,200,["OK","Return","Back"]);            addChild(box);            box.visible = true;        }        private function APIBAD(data:Object):void {            var box:Box = new Box("Done","False \n Error" + data.error_msg + "\n_|_\n" + data.error_code,200,200,["OK","Return","Back"]);            addChild(box);            box.visible = true;        }    }}
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Защищённые методы

Сообщение Александр »

Sasho'OK 515
Ты выборочно читаешь описание методов?
Метод setCounter при стандартном, а не защищенном взаимодействии можно использовать для того, чтобы, например, сбрасывать счетчик при заходе пользователя в приложение.
Тебе этого достаточно? Тогда можешь обойтись и без сервера.

Попробуй не передавать параметры timestamp:time,random:randoom.
Sasho'OK 515
Сообщения: 36
Зарегистрирован: 27 мар 2011, 14:03

Re: Защищённые методы

Сообщение Sasho'OK 515 »

Александр, я попробовал непередавать параметры но ошибка та же!
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Защищённые методы

Сообщение Александр »

sid и secret актуальные?
Sasho'OK 515
Сообщения: 36
Зарегистрирован: 27 мар 2011, 14:03

Re: Защищённые методы

Сообщение Sasho'OK 515 »

да.
Ответить