Программирование на Action Script 3, в среде Adobe Flash CS4.
Для работы с ВКонтакте API, используется библиотека VkApi. http://vkontakte.ru/club10009135
Немного измененная библиотека, используемая в коде этого урока http://flapps.ru/example/vkApi.rar
1. Создаём Новый документ (Flash File).
2. Создаём динамическое текстовое поле и называем его "friends_tf".
В это поле будет загружен список друзей.
В свойствах этого поля выберите Behavior: Multiline.
3. Создаём новый as-файл (называем его Main.as). Сохраняем и подключаем его к ранее созданному fla файлу.
Если вы не знаете как подключить Main.as, то посмотрите как это было сделано в этом уроке http://flapps.ru/forum/topic9.html (Пункт 7).
4. В файле Main.as пишем код:
Код: Выделить всё
package { import flash.net.*; import flash.display.*; import flash.events.*; import flash.text.*; import vk.VkApiNode; public class Main extends Sprite { private var api_id:Number=1728947;// id вашего приложения private var api_secret:String="3wRTB1OZo9";// секретный ключ private var api:VkApiNode; private var viewer_id; private var server_url; private var url_loader:URLLoader; private var url_request:URLRequest; private var query:String; public function Main():void { viewer_id=LoaderInfo(root.loaderInfo).parameters.viewer_id; // определяем адрес сервиса API (vkontakte.ru или vk.com) server_url = LoaderInfo(root.loaderInfo).parameters.api_url + '?'; // создаем и выполняем запрос api=new VkApiNode(viewer_id,api_id,api_secret,false,'XML','2.0',server_url); query=api.getFriends(); url_request=new URLRequest(query); url_loader=new URLLoader ; url_loader.addEventListener(Event.COMPLETE,friendsLoaded); url_loader.load(url_request); } public function friendsLoaded(event:Event):void { // обрабатываем полученный ответ var responseFriends:XML=new XML(url_loader.data); if (responseFriends.error_code!=7) {// если доступ к списку друзей разрешен в настройках приложения // создаём массив ID друзей var all_friends:Array=new Array ; for each (var fid:XML in responseFriends.*) { all_friends.push(fid); } // получаем профили друзей, используя метод getProfiles // ПРИМЕЧАНИЕ! Если друзей более 1000, то этот запрос нужно будет поделить на части, из-за ограничений метода getProfiles var fields:Array=new Array ; fields=['first_name,last_name,photo_big'];// перечисленные через запятую поля, необходимые для получения getProfiles(all_friends,fields); } else { friends_tf.text='Нет доступа к списку друзей'; } } public function getProfiles(uids:Array,fields:Array):void { // функция получения профилей query=api.getProfiles(uids,fields); url_request=new URLRequest(query); url_loader=new URLLoader ; url_loader.addEventListener(Event.COMPLETE,profilesLoaded); url_loader.load(url_request); } public function profilesLoaded(event:Event):void { // обрабатываем и выводим список друзей в виде "Имя Фамилия" (ссылка) var responseFriendsProfiles:XML=new XML(url_loader.data); var friends=''; for each (var user:XML in responseFriendsProfiles.*) { friends=friends+'<a href="http://vkontakte.ru/id'+user.uid+'">'+user.first_name+' '+user.last_name+'</a><br />'; } friends_tf.htmlText=friends; } }}
Если вам ничего непонятно в этом коде, то лучше начните с изучения чего-то ещё более простого, т.к. причина непонимания кода в недостатке знаний, и даже если вам расписать каждую строчку, то вам не будет понятен весь код.
5. Сохраняем измененный Main.as и экспортируем приложение (Ctrl + Enter).
6. Загружаем приложение в контакт.
Если не знаете как загрузить в контакт готовый swf, то посмотрите как это было сделано в этом уроке http://flapps.ru/forum/topic9.html (Пункт 9).
7. Проверяем настройки приложения.
Состояние: Приложение включено и видно всем.
Контейнер приложения: Без использования контейнера.
В настройках приложения должен быть разрешен доступ к друзьям.
Теперь можно проверить как работает приложение.
Исходник приложения http://flapps.ru/example/getFriends.rar