ActionScript 3.0 (Adobe Flash CS5)
Некоторым сложно разобраться с официальным примером использования APIConnection. В этом уроке, вы узнаете как обращаться к ВКонтакте API с помощью этого класса.
Это приложение будет получать профиль пользователя методом getProfiles.
1. Создаём Новый документ Flash File (ActionScript 3.0)
Добавляем на сцену текстовое поле и называем его result_tf.
Сохраняем fla.
2. Скачиваем APIConnection.zip
http://vkontakte.ru/source/APIConnection.zip
Папку vk из архива vk_api_connection\src\ кладем в папку с сохраненным fla.
3. Создаем Новый as-файл
Пишем код:
Код: Выделить всё
/* http://flapps.ru/forum/ - форум о создании приложений */package { import flash.display.Sprite; import flash.events.*; import vk.APIConnection; import vk.events.*; public class Main extends Sprite { public var api_id:Number; public var viewer_id:Number; public var sid:String; public var secret:String; public function Main() { // получаем flashVars var flashVars:Object = stage.loaderInfo.parameters as Object; // присваиваем переменным значения из flashVars api_id = flashVars['api_id']; viewer_id = flashVars['viewer_id']; sid = flashVars['sid']; secret = flashVars['secret']; // для тестирования локально, вводим свои данные здесь и раскоменчиваем код /*flashVars['api_id'] = 1728947; flashVars['viewer_id'] = 1306422; flashVars['sid'] = 'a1006fd1e8gb9bd669e1119280166bc6cb9110b8a111550333bf041301'; flashVars['secret'] = '7ef8l6a4p8'; */ // инициализация var VK:APIConnection = new APIConnection(flashVars); // выполняем запрос getProfiles, в качестве параметра uids используем id пользователя, просматривающего приложения, в параметре fields указываем photo_big - большая фотография пользователя VK.api('getProfiles', { uids: flashVars['viewer_id'],fields:'photo_big' }, onProfileLoaded, onError); } // данные получены private function onProfileLoaded(data: Object):void { // обрабатываем полученный ответ result_tf.text = data[0]['uid'] + ' ' + data[0]['first_name'] + ' ' + data[0]['last_name'] + ' ' + data[0]['photo_big']; } // если произошла ошибка private function onError(data: Object):void { result_tf.text = data.error_msg; } }}
Связываем as с fla. Если не знаете как, то посмотрите в этом уроке http://flapps.ru/forum/topic3.html (пункт 6).
Экспортируем приложение.
4. Загружаем приложение в контакт
Приложение должно быть включено.
Без использования контейнера.
Тестируем.
В поле result_tf должны появится Имя, Фамилия и ссылка на аватарку пользователя.
Локальное тестирование.
Для локального тестирования нужно вручную прописать параметры flashVars в коде.
Чтобы узнать эти параметры:
- Заходим на страницу приложения
- Открываем исходный код
- Ищем в коде текст "secret".
Рядом с этим текстом находятся и другие параметры. Нам нужны api_id, viewer_id, sid и secret.
В коде приложения меняем в строках 33-36 значения на свои.
Раскомментируем эти строки, убрав "/*" и "*/".
Теперь можете нажать Ctrl+Enter и протестировать приложение локально.
Другие методы ВКонтакте API используются аналогично.
После получения данных, делайте их вывод (если не знаете что можете получить) и обрабатывайте. О том как работать с JSON в ActionScript 3.0 написано в уроке Работа с JSON в ActionScript 3.0.
Исходник http://flapps.ru/example/APIConnection_example.rar