ВКонтакте API 3.0. Пример простого приложения
Re: ВКонтакте API 3.0. Пример простого приложения
m1cky
Если переделать код под контейнер, то будет работать.
Нужно получать данные из flashvars немного по другому и использовать событие Event.ADDED_TO_STAGE. В официальной документации и примере всё это есть. На этом форуме в уроках тоже есть.
Если переделать код под контейнер, то будет работать.
Нужно получать данные из flashvars немного по другому и использовать событие Event.ADDED_TO_STAGE. В официальной документации и примере всё это есть. На этом форуме в уроках тоже есть.
Re: ВКонтакте API 3.0. Пример простого приложения
А у меня Explorer вот, что пишет:
"Error #2044: Необработанный ioError:. text=Error #2124: Неизвестный тип загруженного файла. URL: http://vkontakte.ru/"
А Firefox просто белый экран отображает. Методы устранения ошибок, которые описаны на главной использовал.
"Error #2044: Необработанный ioError:. text=Error #2124: Неизвестный тип загруженного файла. URL: http://vkontakte.ru/"
А Firefox просто белый экран отображает. Методы устранения ошибок, которые описаны на главной использовал.
Re: ВКонтакте API 3.0. Пример простого приложения
Md5 скачал и вставил.
Re: ВКонтакте API 3.0. Пример простого приложения
Cadmy
Проверь правильные ли передаются параметры viewer_id, secret и sid.
Посмотри какой ответ возвращает сервер. Выводи его куда-нибудь или используй Charles.
Проверь правильные ли передаются параметры viewer_id, secret и sid.
Посмотри какой ответ возвращает сервер. Выводи его куда-нибудь или используй Charles.
Re: ВКонтакте API 3.0. Пример простого приложения
2 Александр Спасибо, ценный совет. Итак, ответ сервера следующий:
Остальной xml в порядке. Что может быть не так с сигнатурой?
Код: Выделить всё
<error> <error_code>4</error_code> <error_msg>Incorrect signature</error_msg> <request_params list="true">
Re: ВКонтакте API 3.0. Пример простого приложения
Cadmy
Что значит "остальной в порядке"? Весь XML говорит о том, что сигнатура не верная. Проверь app_id, viewer_id, secret и sid.
Что значит "остальной в порядке"? Весь XML говорит о том, что сигнатура не верная. Проверь app_id, viewer_id, secret и sid.
-
- Сообщения: 7
- Зарегистрирован: 22 окт 2010, 10:40
Re: ВКонтакте API 3.0. Пример простого приложения
Я скачал исходник, откомпилировал и залилил в контакт. У меня только белый экран и ничего не показываеться
Re: ВКонтакте API 3.0. Пример простого приложения
Значит чтото не правльено настроил !
-
- Сообщения: 7
- Зарегистрирован: 22 окт 2010, 10:40
Re: ВКонтакте API 3.0. Пример простого приложения
Код: Выделить всё
/* http://flapps.ru/forum/ - форум о создании флеш приложений на основе ВКонтакте API */package { import flash.net.URLLoader; import flash.net.URLRequest; import flash.net.URLVariables; import flash.net.URLRequestMethod; import flash.display.*; import flash.events.*; import flash.text.TextField; import fl.containers.UILoader; public class Main extends Sprite { private var api_id:Number = 1990765;// ID приложения private var url_loader:URLLoader; private var url_request:URLRequest; private var viewer_id; private var secret:String; private var sid:String; private var api_url:String; private var bdate_tf:TextField = new TextField(); private var name_tf:TextField = new TextField(); private var avatar:UILoader = new UILoader ; public function Main():void { api_id = LoaderInfo(root.loaderInfo).parameters.api_id; // получаем данные из flashVars // id просматривающего приложение viewer_id = LoaderInfo(root.loaderInfo).parameters.viewer_id; // secret для генерации сигнатуры secret = LoaderInfo(root.loaderInfo).parameters.secret; // id сессии sid = LoaderInfo(root.loaderInfo).parameters.sid; // адрес API-сервиса api_url = LoaderInfo(root.loaderInfo).parameters.api_url; // для тестирования локально, можно прописать их здесь (брать в исходном коде страницы с приложением) /* viewer_id = '1'; secret = 'abcd123456'; sid = 'abcd123456abcd123456abcd123456abcd123456abcd123456abcd1234'; api_url = 'http://api.vkontakte.ru/api.php'; */ // вызываем функцию получения профиля пользователя, просматривающего приложение getProfile(viewer_id); } private function getProfile(uid):void { // параметры которые будем передавать в запросе и которые нужны для формирования сигнатуры // параметры для формирования сигнатуры var request_params: Object = new Object(); request_params.api_id = api_id; request_params.method = 'getProfiles'; request_params.format = 'XML'; request_params.v = '3.0'; request_params.fields = 'bdate,photo_big'; request_params.uids = uid; // параметры для отправки запроса var variables:URLVariables = new URLVariables(); // часть параметров берем из request_params for (var j:String in request_params) { variables[j] = request_params[j]; } variables['sid'] = sid;// параметр sid нужно передавать в запросе, но он не используются при создании сигнатуры variables['sig'] = generate_signature(request_params);// генерируем сигнатуру. Функция generate_signature описана ниже. // подготавливаем запрос url_request = new URLRequest(api_url); // данные будем отправлять POST запросом url_request.method = URLRequestMethod.POST; // добавляем параметры в запрос url_request.data = variables; // отправляем запрос url_loader = new URLLoader ; url_loader.addEventListener(Event.COMPLETE,onComplete); url_loader.load(url_request); } // запрос выполнен private function onComplete(event:Event):void { var response:XML = new XML(url_loader.data); // выводим дату рождения пользователя var bdate = response..bdate; bdate_tf.text = bdate; bdate_tf.x = 490; bdate_tf.y = 380; addChild(bdate_tf); // выводим имя и фамилию пользователя name_tf.text = response..first_name + ' ' + response..last_name; name_tf.x = 410; name_tf.y = 360; addChild(name_tf); // выводим аватарку пользователя avatar.autoLoad = true; avatar.scaleContent = false; avatar.source = response..photo_big; avatar.move(175,10); addChild(avatar); } // функция генерации сигнатуры private function generate_signature(request_params):String { var signature = ''; // сортируем параметры в алфавитном порядке var sorted_array: Array = new Array(); for (var key in request_params) { sorted_array.push(key + "=" + request_params[key]); } sorted_array.sort(); // создаем строку параметров; for (key in sorted_array) { signature += sorted_array[key]; } signature = viewer_id + signature + secret; return MD5.encrypt(signature); } // http://flapps.ru/forum }}
Re: ВКонтакте API 3.0. Пример простого приложения
xShinigami
Проверь что приложение включено и не используется контейнер.
Если не поможет, смотри что возвращает сервер, с помощью Charles.
Проверь что приложение включено и не используется контейнер.
Если не поможет, смотри что возвращает сервер, с помощью Charles.