Предложения (offers: get, open, close, edit)
Добавлено: 09 июн 2010, 10:10
Предложения (offers: get, open, close, edit) //Потом сделаю ещё!
ActionScript 3.0 (Adobe Flash CS4)
Приложение получает предложение пользователя, редактирует его, открывает и закрывает!
Для работы с методами ВКонтакте API используется измененная мною библиотека VkApi. Находится в архиве с исходником.
Описание используемых методов
offers.get - Возвращает информацию о предложении, размещенном текущим пользователем.
offers.close - Закрывает предложение текущего пользователя, убирая его из общего доступа.
offers.open - Открывает предложение текущего пользователя для общего доступа.
offers.edit - Сохраняет информацию о предложении текущего пользователя.
В уроке не использованы все возможные способы работы с предложениями.Например : offers.search, offers.getInboundResponses, offers.getOutboundResponses, offers.accept и другие!В скором времени возможно сделаю урок и с ними!
В коде урока нет обработок ошибок, возвращаемых сервером.
Создание приложения
1. Добавляем на сцену:
Текстовые поля с именами:
- offer_txt(поле вывода информации о текущем предложении, а так же просьбы об обновлении страницы)
- result_txt(поле вывода результатов)
- mess_txt (поле ввода текста для нового предложения)
Кнопки с именами:
- yes
- no
- editOffer
2. Создаём Main.as и пишем код:
Заменяем api_id и api_secret на свои данные.
3. Подключаем Main.as к fla
Если не знаете как, то посмотрите как это было сделано в этом уроке http://flapps.ru/forum/topic3.html
4. Загружаем приложение в контакт
Редактирование -> Настройки -> Обновление SWF-приложения -> Обзор -> Начать загрузку.
- Если приложение выключено, то включаем
Редактирование -> Настройки -> Состояние -> Приложение включено и видно всем.
- Если выключен контейнер, то включаем
Редактирование -> Настройки -> Flash-контейнер -> Без отступов и элементов управления.
5. Всё готово!Нажимаем ctrl + enter или shift + f12
Исходник http://psix55.jino.ru/offers.rar
ActionScript 3.0 (Adobe Flash CS4)
Приложение получает предложение пользователя, редактирует его, открывает и закрывает!
Для работы с методами ВКонтакте API используется измененная мною библиотека VkApi. Находится в архиве с исходником.
Описание используемых методов
offers.get - Возвращает информацию о предложении, размещенном текущим пользователем.
offers.close - Закрывает предложение текущего пользователя, убирая его из общего доступа.
offers.open - Открывает предложение текущего пользователя для общего доступа.
offers.edit - Сохраняет информацию о предложении текущего пользователя.
В уроке не использованы все возможные способы работы с предложениями.Например : offers.search, offers.getInboundResponses, offers.getOutboundResponses, offers.accept и другие!В скором времени возможно сделаю урок и с ними!
В коде урока нет обработок ошибок, возвращаемых сервером.
Создание приложения
1. Добавляем на сцену:
Текстовые поля с именами:
- offer_txt(поле вывода информации о текущем предложении, а так же просьбы об обновлении страницы)
- result_txt(поле вывода результатов)
- mess_txt (поле ввода текста для нового предложения)
Кнопки с именами:
- yes
- no
- editOffer
2. Создаём Main.as и пишем код:
Код: Выделить всё
/* http://flapps.ru/forum/ - форум о создании флеш приложений на основе ВКонтакте API */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 = 123456;// ID приложения private var api_secret:String = "ololo";// секретный ключ private var api:vk.VkApiNode; private var server_url; private var viewer_id; private var url_loader:URLLoader; private var url_request:URLRequest; private var query:String; private var wrapper:Object; public function Main ():void { this.addEventListener ( Event.ADDED_TO_STAGE, onAddedToStage ); } public function onAddedToStage (e: Event):void { wrapper = Object(parent.parent); var flags = wrapper.application.parameters.api_settings; // проверяем доступ к предложениям пользователя if (Boolean(flags & 32)) { viewer_id = wrapper.application.parameters.viewer_id; api = new VkApiNode(viewer_id,api_id,api_secret); editOffer.addEventListener (MouseEvent.CLICK,offerEdit); yes.addEventListener (MouseEvent.CLICK, offerChangeYes); no.addEventListener (MouseEvent.CLICK, offerChangeNo); offerGet (); } else { // доступа нет // вызываем окно с настройками приложения (доступ к предложению пользователя) wrapper.external.showSettingsBox (32); //Этот урок не по использованию контейнера, поэтому придется просто обновить страницу. offer_txt.text = 'Обновите страницу с приложением'; } //Запрашиваем данные о текущем предложении function offerGet ():void { // создаем и выполняем запрос query = api.offersget(); url_request = new URLRequest(query); url_loader = new URLLoader ; url_loader.addEventListener (Event.COMPLETE,offersGot); url_loader.load (url_request); } //Ответ от api.vkontekte.ru получен! function offersGot (e:Event) { var offer:XML = new XML(url_loader.data); var active:String = ""; if (offer..active == 1) { active = "Открыто"; } if (offer..active == 0) { active = "Закрыто"; } offer_txt.text = "Текущее предложение : " + offer..message + "\n" + "Состояние : " + active; } //Делаем предложение открытым function offerChangeYes (e:MouseEvent) { // создаем и выполняем запрос api = new VkApiNode(viewer_id,api_id,api_secret); query = api.offersopen(); url_request = new URLRequest(query); url_loader = new URLLoader ; url_loader.addEventListener (Event.COMPLETE,offerChangingCompleteYes); url_loader.load (url_request); } //Ответ от api.vkontekte.ru получен! function offerChangingCompleteYes (e:Event) { result_txt.text = "OK, открыто"; //Внимание!Здесь можно реализовать проверку на ошибку!(Я не делал) offerGet (); } //Делаем предложение закрытым function offerChangeNo (e:MouseEvent) { // создаем и выполняем запрос api = new VkApiNode(viewer_id,api_id,api_secret); query = api.offersclose(); url_request = new URLRequest(query); url_loader = new URLLoader ; url_loader.addEventListener (Event.COMPLETE,offerChangingCompleteNo); url_loader.load (url_request); } //Ответ от api.vkontekte.ru получен! function offerChangingCompleteNo (e:Event) { result_txt.text = "OK, закрыто";//Внимание!Здесь можно реализовать проверку на ошибку!(Я не делал) offerGet (); } //Изменяем предложение. function offerEdit (e:MouseEvent) { // создаем и выполняем запрос api = new VkApiNode(viewer_id,api_id,api_secret); query = api.offeredit(mess_txt.text); url_request = new URLRequest(query); url_loader = new URLLoader ; url_loader.addEventListener (Event.COMPLETE,offerEditionComplete); url_loader.load (url_request); } //Ответ от api.vkontekte.ru получен! function offerEditionComplete (e:Event) { result_txt.text = "OK, изменено";//Внимание!Здесь можно реализовать проверку на ошибку!(Я не делал) offerGet (); } } }}
3. Подключаем Main.as к fla
Если не знаете как, то посмотрите как это было сделано в этом уроке http://flapps.ru/forum/topic3.html
4. Загружаем приложение в контакт
Редактирование -> Настройки -> Обновление SWF-приложения -> Обзор -> Начать загрузку.
- Если приложение выключено, то включаем
Редактирование -> Настройки -> Состояние -> Приложение включено и видно всем.
- Если выключен контейнер, то включаем
Редактирование -> Настройки -> Flash-контейнер -> Без отступов и элементов управления.
5. Всё готово!Нажимаем ctrl + enter или shift + f12
Исходник http://psix55.jino.ru/offers.rar