|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Aug 2010
Адрес: Асбест
Сообщений: 2
|
Incorrect Signature. Помогите новичку в VK API!
Здравствуйте!
В AS3 я не новичок, занимаюсь им довольно долго, но вот с VK API у меня возникла проблема. (знаю что тема не раз обсуждалась, но пожалуйста, не пинайте. Способы в существующих темах не помогли) Привожу исходник всего приложения: package { import flash.display.Sprite; import flash.text.*; import flash.events.*; import flash.net.URLLoader; import flash.net.URLRequest; import flash.display.*; import vk.APIConnection; import vk.events.*; import vk.ui.VKButton; import utils.MD5; public class TestApp extends Sprite { private var api_id:Number = app_key; // id приложения private var api_secret:String="app_secret"; // секретный ключ private var externalXML:XML; private var loader:URLLoader = new URLLoader(); private var viewer_id:Number; private var sig:String; private var uid:String; private var method:String = "getUserInfo"; private var test_mode:Number = 1; private var v:String = "2.0"; public function TestApp() { var params:Object=LoaderInfo(root.loaderInfo).parameters; viewer_id = (params['viewer_id']) ? parseInt(params['viewer_id']) : 1; //getProfile(viewer_id); if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e: Event = null): void { //var strtosig:String = viewer_id+'api_id='+api_id+'fields=first_namemethod=getProfilesuids='+viewer_id+'v=2.0'+api_secret; //sig=MD5.encrypt(strtosig); //var request:URLRequest=new URLRequest("http://api.vkontakte.ru/api.php?api_id="+api_id+"&method=getProfiles&uids="+viewer_id+"&fields=first_name,last_name&v=2.0&sig="+sig); sig=MD5.encrypt(viewer_id+'api_id='+api_id+'fields=bdate,photo_bigmethod=getProfilestest_mode=1uids='+uid+'v=2.0'+api_secret); var request:URLRequest=new URLRequest("http://api.vkontakte.ru/api.php?api_id="+api_id+"&fields=bdate,photo_big&method=getProfiles&test_mode=0&uids="+uid+"&v=2.0&sig="+sig); loader.load(request); loader.addEventListener(Event.COMPLETE, init); externalXML=new XML(loader.data); var addApp: VKButton = new VKButton('Настройки приложения'); addApp.x = 472; addApp.y = 8; addChild(addApp); var btn: VKButton = new VKButton('Посчитать'); btn.x = 284; btn.y = 166; var uname = externalXML..furst_name; addChild(btn); hello.text = "Здравствуйте, " + uname; btn.addEventListener(MouseEvent.CLICK, function(e: Event):void{ MD1.text = MD5.encrypt(txt_Data.text); }); addApp.addEventListener(MouseEvent.CLICK, function(e: Event):void{ VK.callMethod(showSettingsBox, 0); }); } } } В чем может быть проблема? Мое мнение: тут ведь вроде нужен хеш, а не сумма? Насколько я себе представляю - это разные вещи... НО! Попробовал так: package { import flash.display.Sprite; import flash.text.*; import flash.events.*; import flash.net.URLLoader; import flash.net.URLRequest; import flash.display.*; import vk.APIConnection; import vk.events.*; import vk.ui.VKButton; import com.adobe.crypto.MD5; public class TestApp extends Sprite { private var api_id:Number = app_id; // id вашего приложения private var api_secret:String="app_secret"; // секретный ключ private var externalXML:XML; private var loader:URLLoader = new URLLoader(); private var viewer_id:Number; private var sig:String; private var uid:String; private var method:String = "getUserInfo"; private var test_mode:Number = 1; private var v:String = "2.0"; public function TestApp() { var params:Object=LoaderInfo(root.loaderInfo).parameters; viewer_id = (params['viewer_id']) ? parseInt(params['viewer_id']) : 1; //getProfile(viewer_id); if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e: Event = null): void { sig=MD5.hash(viewer_id+'api_id='+api_id+'fields=last_name, furst_namecids=1method=getProfilestest_mode=1uids='+uid+'v=2.0'+api_secret); var request:URLRequest=new URLRequest("http://api.vkontakte.ru/api.php?api_id="+api_id+"&fields=last_name, furst_name&cids=1&method=getProfiles&test_mode=0&uids="+uid+"&v=2.0&sig="+sig); loader.load(request); loader.addEventListener(Event.COMPLETE, init); externalXML=new XML(loader.data); var addApp: VKButton = new VKButton('Настройки приложения'); addApp.x = 472; addApp.y = 8; addChild(addApp); var btn: VKButton = new VKButton('Посчитать'); btn.x = 284; btn.y = 166; var uname = externalXML..furst_name; addChild(btn); hello.text = "Здравствуйте, " + uname; btn.addEventListener(MouseEvent.CLICK, function(e: Event):void{ MD1.text = MD5.hash(txt_Data.text); }); addApp.addEventListener(MouseEvent.CLICK, function(e: Event):void{ VK.callMethod(showSettingsBox, 0); }); } } } Не помогло((( Буду очень признателен за помощь Последний раз редактировалось ChromeUS; 02.08.2010 в 07:24. Причина: Забыл еще знак "=", но все равно не робит |
Часовой пояс GMT +4, время: 18:32. |
|
« Предыдущая тема | Следующая тема » |
Теги |
4 error , vk |
|
|