|
|
|||||
Регистрация: Jan 2016
Сообщений: 46
|
Обновление старого кода VK API
Помогите переделать код. Этот код взят из чата для VK API на AS3. Но там устаревший VK API, кто поможет подредактировать, чтобы все работало? В исходнике так же была папка vk, ее я заменил на новую из архива, скачанного с ВК "APIConnection".
import flash.display.Sprite; import flash.text.*; import flash.events.*; import vk.APIConnection; import vk.events.*; import vk.ui.VKButton; import flash.events.Event; import flash.events.TimerEvent; import flash.utils.Timer; var api_id:Number; var viewer_id:Number; var sid:String; var secret:String; var time_n:Number=3;//через сколько секунд обновляем окно чата var flashVars:Object = stage.loaderInfo.parameters as Object; var VK:APIConnection = new APIConnection(flashVars); // берем значения с флэш варс api_id = flashVars['api_id'];//присваеваем апп ид viewer_id = flashVars['viewer_id'];//виевир ид sid = flashVars['sid'];//сид secret = flashVars['secret'];//секрет //обрабатывание полученых сообщении function onMessages(data: Object):void{ var count = data.length;//сколько их всего for (var i=0; i<count; i++){ window_chat.htmlText += '<b><font color="#ff0000">' + data[i]['user_name'] + "</font></b>: " + data[i]['message'];//добавляем строку с его именем и сообщением без ссылки и красного цвета } } //если ошибка function Errr(data: Object):void{ window_chat.text = data.error_msg; } //по нажатию на кнопку отправка сообщении btn_chat.addEventListener(MouseEvent.CLICK, function(event:MouseEvent) { VK.api('sendMessage', {message:send_chat.text}, onMessages, Errr); send_chat.text='';//очищаем }) //таимер ,который будет обновлять полученый сообщения function ShortTimer() { var minuteTimer:Timer = new Timer(1000,time_n); minuteTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete); minuteTimer.start(); } //таимер прозвенел function onTimerComplete(evt:Event):void { VK.api('getMessages', {}, onMessages, Errr);//гет месагес ShortTimer()//вызываем таймер еще } //////////////// //////////////// ////////////////вызываем нужные функции VK.api('getMessages', {}, onMessages, Errr); ShortTimer() |
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
APIConnection не работает из-за блокировки браузером флеш прослойки. Используйте js sdk и общайтесь с ней через externalInterface
function listenEvents(eventList){ eventList.forEach(function(method){ VK.addCallback(method, function(){sendEvent(method,arguments);}); }); } function apiRequest(method, params, id){ VK.api(method,params, function(result){ sendEvent('apiResult',{id:id, result:result}); }) } function sendEvent(type,data){ document.getElementById(divId).callback(type,data); } |
|
|||||
Регистрация: Jan 2016
Сообщений: 46
|
Извиняюсь, новичок в этом деле, куда ваш отрывок кода вставлять?
И кстати, где это взять |
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
здесь надо переписывать с пониманием дела, а не скопировать. читайте про ExternalInterface и vk jssdk
|
|
|||||
Цитата:
А не работает у тебя потому, что ты используешь устаревшие методы API типа getMessages, sendMessage, которые уже лет как ... заменены на методы из этого пакета https://vk.com/dev/messages. Соответственно, скорее всего в этой APIConnection и версия API указана старая. Цитата:
С вк довольно просто работать вообще без всяких APIConnection. Можно формировать запросы самому по вот этой схеме. Все запросы можно формировать прямо из флеш приложения, никакие JS SDK для этого не нужны.
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Jan 2016
Сообщений: 46
|
То есть нужно просто методы все заменить новыми и поставить, новый APIConnection?
|
Часовой пояс GMT +4, время: 14:33. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|